Встречается на собеседованиях • сегодня
Расскажи про свой опыт работы с 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 и логировать ошибки, иначе можно потерять задачи.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы