我从Celery开始(与Django集成)。
我想每隔5分钟安排一项任务。此任务可以具有一个参数,该参数是最后一个任务执行结果(它充当上下文)。
我找到了如何链接和安排任务但我找不到正确的方法来为下一个任务提供这个“上下文”。
很抱歉,如果我错过了Celery文档中的内容..
感谢您的帮助, 阿诺。
答案 0 :(得分:0)
我认为最好使用一些持久存储来解决这个问题。但您可以使用eta
或countdown
parameters在芹菜中执行延迟任务:
ETA(预计到达时间)可让您设定特定日期和 时间是执行任务的最早时间。 倒计时是将eta设置为未来几秒的快捷方式。
答案 1 :(得分:0)
我实施了alex vasi的解决方案。
首先,我尝试为每个任务使用相同的ID,但有时,任务无法检索最后的结果。
我采用了回调方式,因此每次我的任务结束时,我都会使用正确的ETA开始另一项任务,并将最后一个结果作为参数传递。 它运作得很好。
对于错误处理,我将方法附加到task_failure signal。