Параллелизм
- Релиз:
-
5.6
- Дата:
-
26 мар. 2026
Параллелизм в Celery позволяет выполнять задачи параллельно. Модель по умолчанию, prefork, хорошо подходит для многих сценариев и обычно рекомендуется большинству пользователей. Фактически переключение на другой режим незаметно отключит некоторые функции, такие как soft_timeout и max_tasks_per_child.
На этой странице представлен краткий обзор доступных вариантов, которые можно выбрать с помощью параметра –pool при запуске рабочего процесса.
Обзор вариантов параллелизма
prefork: вариант по умолчанию, идеально подходящий для задач с высокой нагрузкой на процессор и большинства сценариев использования. Он надёжен и рекомендуется, если нет особой необходимости в другой модели.
eventlet и gevent: эти модели предназначены для задач с интенсивным вводом-выводом и используют гринлеты для высокой степени параллелизма. Обратите внимание, что в этих режимах недоступны некоторые функции, например soft_timeout. Подробная документация по ним приведена ниже.
solo: выполняет задачи последовательно в основном потоке.
threads: обеспечивает параллелизм с помощью потоков; доступен, если присутствует модуль concurrent.futures.
custom: позволяет указать пользовательскую реализацию пула рабочих процессов с помощью переменных среды.
Примечание
Хотя доступны альтернативные модели, такие как eventlet и gevent, в них могут отсутствовать некоторые функции, доступные в prefork. Мы рекомендуем начинать с prefork, если только особые требования не диктуют иное.
Copyright © 2017-2026 Asif Saif Uddin, core team & contributors. All rights reserved.
Celery is licensed under The BSD License (3 Clause, also known as the new BSD license). The license is an OSI approved Open Source license and is GPL-compatible.
https://docs.celeryq.dev/en/stable/userguide/concurrency/index.html