我一直在浏览芹菜4.3.0文档,但是我找不到任何适合工人的生命周期事件。大多数工作人员管理是基于命令行的,但是我需要一种方法来将工人开始事件连接到代码中,以便我可以进行一些自定义的队列消费者分配。
芹菜有这样的事件吗?
芹菜在各种事件上派遣信号。有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')