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

Расскажи про свой опыт работы с Celery

Celery — это распределенная очередь задач, которую я использовал для асинхронного выполнения фоновых задач в Django и Flask. Основные сценарии: обработка тяжелых запросов (например, генерация отчетов), отправка email, парсинг данных.

Пример настройки в Django:

python
# settings.py
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'

tasks.py

from celery import shared_task

@shared_task
def send_email_task(user_email):
# Логика отправки email
print(f"Sending email to {user_email}")

Вызов задачи

send_email_task.delay("user@example.com")

text

**Особенности:**  
- Брокеры: Redis/RabbitMQ (предпочитаю Redis для простоты).  
- Проблемы: ретраи, мониторинг через Flower, deadlocks при неаккуратной работе с БД.  
- Для периодических задач использовал Celery Beat.  

Важно правильно настраивать retry и логировать ошибки, иначе можно потерять задачи.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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