芹菜任务_成功信号参数



使用芹菜4.1.0我试着用芹菜信号。当使用@task_success时,我试图读取我应该得到的参数,但它们都是None。

这是信号:

@task_success.connect()
def task_succeeded(result, sender=None, task_id=None, task=None, **kwargs):
print("result: " + str(result))
print("task_id: " + str(task_id))
print("task: " + str(task))
print("sender: " + str(sender))
print("request_id:" + sender.request.id)

信号确实被触发了,我看到了一些打印,但似乎所有参数的值都是None。知道为什么吗?

阅读信号的文档,task_success只接受两个参数:senderresult

sender是当前的Task,而result是任务执行的当前结果。

因此,在您的示例中,您试图读取一些未定义的参数,并且resultsender也被交换。

p.D.:我很晚才回答这个问题,但我是在谷歌上搜索task_success时发现的。也许将来会帮助别人。

@signals.task_success.connect
def task_success_handler(sender=None, result=None,**kwargs):
# Extract information from the result, such as task ID or any relevant data
task_id = sender.request.id
result = AsyncResult(task_id, app=celery)
state = result.state
status = result.status
print('nn Sucess task Id', task_id)
print('nn Sucess task state', state)
print('nn Sucess task status', status)
print('nnn sucesscalled')

以上代码为我工作

相关内容

  • 没有找到相关文章

最新更新