Celery 工作人员 onStart 事件?

Kal*_*rak 2 celery

我一直在查看 Celery 4.3.0 文档,但我找不到工作人员的任何类型的生命周期事件。大多数工作程序管理都是基于命令行的,但我需要一种在代码中挂钩工作程序启动事件的方法,以便我可以执行一些自定义的队列使用者分配。

Celery有这样的活动吗?

Chi*_*and 5

Celery 就各种事件发送信号。有2个与worker init相关的信号

worker_init在工作进程启动之前发出的信号。

worker_process_init信号在所有池子进程启动时调度。

这是一个用于监听信号的代码示例。

from celery.signals import worker_init, worker_process_init


@worker_init.connect()
def worker_init_handler(*args, **kwargs):
    print(args, kwargs)
    print('worker_init')


@worker_process_init.connect()
def worker_process_init_handler(*args, **kwargs):
    print(args, kwargs)
    print('worker_process_init')
Run Code Online (Sandbox Code Playgroud)