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

В каком потоке создается задача Celery при её выполнении

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

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

python
celery -A proj worker --loglevel=INFO --pool=prefork  # процессы (по умолчанию)
celery -A proj worker --loglevel=INFO --pool=solo    # один поток (синхронно)
celery -A proj worker --loglevel=INFO --pool=gevent  # потоки через gevent

Нюансы:

  • prefork (процессы) — изоляция, но больше overhead
  • solo — для тестов, блокирует воркер
  • gevent/eventlet — легковесные потоки, но требует async-совместимого кода

Для CPU-bound задач лучше процессы, для IO-bound — потоки/корутины.

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

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

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

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