Why does the task_success of celery, this signal, no longer work?

@celery_app.task(name=u"abc", routing_key="xxx")
def func_abc(a, b, c, d):
    pass
    
@task_success.connect(sender=u"abc")
def on_abc_success(sender, result, **kwargs):
    pass

the overall logic of the code is like this.

the task of celery is sent by the ubuntu machine, and the broker runs on the windows machine for redis,worker, and the code is the same on both machines.

now the ubuntu sends out the task "abc", and the windows machine can receive and complete the task normally, but the task decorated by task_success cannot be executed after it is completed. what may be the reason?

(I have tried to change the sender in task_success to a function object func_abc , and I can"t)

Mar.05,2021

have you solved the problem? the owner of the building is seeking the same thing

.
Menu