Встречается на собеседованиях • сегодня

Как Celery взаимодействует с Django

Celery интегрируется с Django через настройки в settings.py. Основные шаги:

  1. Установка пакетов:
bash
pip install celery redis  # redis как брокер сообщений
  1. В settings.py добавляем конфигурацию:
python
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
  1. Создаем файл celery.py в папке проекта (рядом с settings.py):
python
import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

text

4. В `__init__.py` проекта добавляем:
```python
from .celery import app as celery_app
__all__ = ['celery_app']
  1. Создаем задачи в tasks.py любого приложения:
python
from celery import shared_task

@shared_task
def send_email_task():
    # логика отправки email
    return "Email sent!"

Запуск Celery worker:

bash
celery -A project worker -l info

Особенности:

  • Использует брокеры (Redis, RabbitMQ) для очередей задач
  • Интегрируется с Django ORM
  • Поддерживает отложенное выполнение (task.apply_async(countdown=3600))
  • Работает с Django-моделями в задачах
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы