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

Запускает ли Celery задачи в потоке

Celery не запускает задачи в потоках по умолчанию. Он использует процессы (prefork модель) для параллельного выполнения задач. Это сделано для избежания проблем с GIL и для лучшей изоляции задач.

Однако можно настроить Celery для работы с потоками:

  1. Используя -P threads (но это экспериментально)
  2. Через использование gevent/eventlet

Пример с потоками:

python
# Запуск worker с потоками
celery -A proj worker -P threads --concurrency=10

Лучшие практики:

  • Для CPU-bound задач лучше использовать процессы (по умолчанию)
  • Для I/O-bound можно рассмотреть gevent/eventlet
  • Потоки в Celery менее стабильны, чем процессы
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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