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

Зачем нужен Celery в Django

Celery — это распределённая очередь задач, которая позволяет выполнять фоновые и асинхронные операции вне основного потока Django. Это особенно полезно для:

  • Долгих задач (обработка файлов, отправка email, API-запросы)
  • Периодических задач (cron-like задачи через celery beat)
  • Масштабирования (распределение нагрузки между воркерами)

Пример:

python
# tasks.py
from celery import shared_task
@shared_task
def send_welcome_email(user_id):
    user = User.objects.get(id=user_id)
    send_mail("Welcome!", "Hi!", "admin@site.com", [user.email])

# views.py
def register(request):
    user = create_user(request.POST)
    send_welcome_email.delay(user.id)  # Задача выполнится в фоне
    return HttpResponse("OK")

Без Celery такие задачи блокируют HTTP-ответ, увеличивая время загрузки страницы.

Брокеры сообщений: Redis, RabbitMQ (для хранения задач).
Альтернативы: Django-Q, Huey (для простых случаев).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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