当周期性任务运行时,如何让任务返回?我需要运行结果。
这是我的问题:
例如,我的定期任务:
@shared_task(name='add')
def add():
x=1,y=2
return x+y
我将任务作为周期性任务从django admin添加,然后使用-B DEBUG选项启动worker。它运行良好。但我想得到返回值。当周期性任务是什么时,有任何方法可以得到retult运行
答案 0 :(得分:0)
要获取任务结果,您可以在.get()
对象上调用AsyncResult
方法,该方法在向队列添加任务时返回:
result = add.delay()
result.get() // returns 5
通过设置CELERY_RESULT_PERSISTENT
或CELERY_TASK_RESULT_EXPIRES
,确保将结果存储足够长的时间。请阅读AMQP backend settings部分中的更多内容。