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

Что такое Celery

Celery — это распределённая очередь задач (distributed task queue) для Python, которая позволяет асинхронно выполнять фоновые задачи вне основного потока приложения. Используется для обработки долгих операций (например, отправка email, обработка данных, генерация отчётов), чтобы не блокировать основной запрос.

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

  • Работает через брокеры сообщений (RabbitMQ, Redis, Amazon SQS).
  • Поддерживает периодические задачи (через Celery Beat).
  • Масштабируется на несколько воркеров.

Пример:

python
from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379/0')

@app.task
def send_email(to, subject, body):
    # Логика отправки email
    print(f"Sending email to {to}")

# Вызов задачи асинхронно
send_email.delay("user@example.com", "Hello", "Test email")

Плюсы:

  • Простота интеграции с Django/Flask.
  • Поддержка ретраев, приоритетов задач.
  • Мониторинг через Flower.

Минусы:

  • Требует отдельный брокер и воркеры.
  • Сложность отладки распределённых задач.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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