芹菜-禁用信号

Celery- Disabling signals

我使用了 celery 信号,它工作正常

@shared_task(name="execute_task")
def execute(*args,**kwargs):
   return 2+2

@task_success.connect
def task_success_handler(sender=None, headers=None, body=None, **kwargs):
   print(pass)

execute 任务执行后调用任务成功信号,但我想禁用此调用。它可以实现吗?

是的,我们可以做到这一点,celery 信号也带有断开功能,所以你需要做的是

from celery import signals
@shared_task(name="execute_task")
def execute(*args,**kwargs):
   signals.task_success.disconnect(task_success_handler)
   return 2+2

这样成功函数就不会被调用了