Полное руководство по Celery и Django [TDD] [Michael Yin]
The Definitive Guide to Celery and Django
Язык: Английский
Узнайте, как добавить Celery в приложение Django для обеспечения асинхронной обработки задач.
Что ты узнаешь?
Часть 1
В этой первой части вы узнаете, как настроить Celery для работы с Django и Docker для асинхронной обработки задач в фоновом режиме. Затем мы рассмотрим, как повторить неудачные задачи, отладить задачи и убедиться, что задачи правильно работают с транзакциями базы данных Django. Наконец, мы добавим поддержку WebSocket в Django с помощью каналов Django.
Часть 2
Во второй части мы погрузимся в тестирование с помощью стандартной среды тестирования Django и pytest. Мы также рассмотрим рабочий процесс разработки через тестирование (TDD). Затем вы развернете приложение в DigitalOcean и узнаете, как правильно отслеживать задачи Celery с помощью Flower, Container Advisor и Prometheus. Наконец, мы рассмотрим некоторые рекомендации и советы по настройке производительности Celery.
Цели обучения
Вот ключевые концепции, которые вы изучите в каждой части этого курса.
Часть 1
Core
The Definitive Guide to Celery and Django
Язык: Английский
Узнайте, как добавить Celery в приложение Django для обеспечения асинхронной обработки задач.
Что ты узнаешь?
Часть 1
В этой первой части вы узнаете, как настроить Celery для работы с Django и Docker для асинхронной обработки задач в фоновом режиме. Затем мы рассмотрим, как повторить неудачные задачи, отладить задачи и убедиться, что задачи правильно работают с транзакциями базы данных Django. Наконец, мы добавим поддержку WebSocket в Django с помощью каналов Django.
Часть 2
Во второй части мы погрузимся в тестирование с помощью стандартной среды тестирования Django и pytest. Мы также рассмотрим рабочий процесс разработки через тестирование (TDD). Затем вы развернете приложение в DigitalOcean и узнаете, как правильно отслеживать задачи Celery с помощью Flower, Container Advisor и Prometheus. Наконец, мы рассмотрим некоторые рекомендации и советы по настройке производительности Celery.
Цели обучения
Вот ключевые концепции, которые вы изучите в каждой части этого курса.
Часть 1
- Объясните, почему вы можете использовать очередь задач, например Celery.
- Опишите базовую модель производителя / потребителя и ее связь с сельдереем.
- Настройте Celery с помощью Django
- Используйте Docker Compose для создания и управления Django, Postgres, Redis и Celery
- Реализовать проблему с автоматической перезагрузкой
- Отладка задачи Celery с помощью rdb
- Обработка отправки форм Django с помощью Celery worker
- Обработка сложной логики, запускаемой уведомлением веб-перехватчика с помощью Celery worker
- Повторить неудачную задачу Celery с помощью метода retry
- Используйте каналы Django, чтобы добавить поддержку WebSocket в приложение Django
- Запланируйте периодический запуск команды управления Django с помощью Celery Beat
- Опишите, что такое транзакция базы данных и как ее использовать в Django.
- Объясните, почему вы можете получить ошибку DoesNotExist в работнике Celery и как ее решить.
- Запретить выполнение задачи до того, как база данных зафиксирует транзакцию
- Объясните, как регистратор Celery работает вместе с Django.
- Настройте регистратор сельдерея внутри задачи сельдерея
- Настройте поведение регистратора сельдерея
- Отправить журналы сельдерея в Papertrail
- Тестовые задачи Celery в режиме ожидания Celery
- Протестируйте приложение Django с помощью pytest и pytest-django
- Используйте инструменты pytest и тестовые маркеры
- Создание тестовых данных с помощью factory_boy и pytest-factoryboy
- Практика разработки через тестирование с помощью pytest при тестировании задачи Celery
- Создание и использование настраиваемого декоратора задач Celery
- Используйте pytest для тестирования настраиваемого декоратора задач
- Разверните Django и Celery в DigitalOcean
- Отслеживайте приложение Celery с помощью Flower
- Настроить Container Advisor и Prometheus для мониторинга
- Используйте Kombu для создания и использования сообщений через брокера сообщений
Core
- Python
- Django
- Celery
- Django Channels
- Flower
- Docker
- Postgres
- Redis
- RabbitMQ
- Gunicorn
- Uvicorn
- pytest
- factory_boy
- Coverage.py
- Container Advisor
- Prometheus
- Papertrail
- DigitalOcean
https://testdriven.io/courses/django-celery/