celery.worker.worker
WorkController можно использовать для создания внутрипроцессных воркеров.
Интерфейс командной строки для воркера находится в celery.bin.worker, а программа воркера — в celery.apps.worker.
Программа воркера отвечает за добавление обработчиков сигналов, настройку журналирования и т. д. Это минималистичный воркер без глобальных побочных эффектов (то есть за исключением глобального состояния, хранящегося в celery.worker.state).
Воркер состоит из нескольких компонентов, которыми управляют bootsteps (mod:celery.bootsteps).
- classcelery.worker.worker.WorkController(app=None, hostname=None, **kwargs)
-
Неуправляемый экземпляр воркера.
- classBlueprint(steps=None, name=None, on_start=None, on_close=None, on_stopped=None)
-
Чертёж этапов запуска воркера.
- default_steps={'celery.worker.autoscale:WorkerComponent', 'celery.worker.components:Beat', 'celery.worker.components:Consumer', 'celery.worker.components:Hub', 'celery.worker.components:Pool', 'celery.worker.components:StateDB', 'celery.worker.components:Timer'}
- name='Worker'
- app=None
- blueprint=None
- exitcode=None
-
содержит код завершения, если обработано событие
SystemExit.
- info()
- on_after_init(**kwargs)
- on_before_init(**kwargs)
- on_close()
- on_consumer_ready(consumer)
- on_init_blueprint()
- on_start()
- on_stopped()
- pidlock=None
- pool=None
- prepare_args(**kwargs)
- register_with_event_loop(hub)
- reload(modules=None, reload=False, reloader=None)
- rusage()
- semaphore=None
- setup_defaults(concurrency=None, loglevel='WARN', logfile=None, task_events=None, pool=None, consumer_cls=None, timer_cls=None, timer_precision=None, autoscaler_cls=None, pool_putlocks=None, pool_restarts=None, optimization=None, O=None, statedb=None, time_limit=None, soft_time_limit=None, scheduler=None, pool_cls=None, state_db=None, task_time_limit=None, task_soft_time_limit=None, scheduler_cls=None, schedule_filename=None, max_tasks_per_child=None, prefetch_multiplier=None, disable_rate_limits=None, worker_lost_wait=None, max_memory_per_child=None, **_kw)
- setup_includes(includes)
- setup_instance(queues=None, ready_callback=None, pidfile=None, include=None, use_eventloop=None, exclude_queues=None, **kwargs)
- setup_queues(include, exclude=None)
- should_use_eventloop()
- signal_consumer_close()
- start()
- propertystate
- stats()
- stop(in_sighandler=False, exitcode=None)
-
Штатное завершение работы сервера воркера (мягкое завершение).
- terminate(in_sighandler=False)
-
Не столь штатное завершение работы сервера воркера (жёсткое завершение).
- wait_for_soft_shutdown()
-
Ожидать
worker_soft_shutdown_timeout, если включено мягкое завершение работы.Чтобы включить мягкое завершение работы, задайте в конфигурации параметр
worker_soft_shutdown_timeout. Мягкое завершение работы позволяет воркеру обработать ещё несколько задач перед началом жёсткого завершения. Этот механизм позволяет воркеру закончить выполнение уже запущенных коротких задач и повторно поставить в очередь длительные задачи, чтобы их мог обработать другой воркер.Предупреждение
Если у воркера нет задач, он не будет ожидать истечения тайм-аута мягкого завершения, даже если тайм-аут задан: ожидание не имеет смысла, когда задач для обработки нет.
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/reference/celery.worker.worker.html