现在,我运行简单的任务。和它返回一个随机数。但是,我怎么使它运行了一个任务,这个任务里面
推荐答案您可以致电 other_task.delay()从内 Randomer.run ;在这种情况下,你可能需要设置 Randomer.ignore_result = TRUE (和 other_task.ignore_result ,等等)。
You can call other_task.delay() from inside Randomer.run; in this case you may want to set Randomer.ignore_result = True (and other_task.ignore_result, and so on).
记住,芹菜任务延迟立即返回,所以如果你不把任何限制或等待时间在嵌套调用(或递归调用),就可以到达崩溃pretty快。
Remember that celery tasks delay returns instantly, so if you don't put any limit or wait time on the nested calls (or recursive calls), you can reach meltdown pretty quickly.
相反,递归或嵌套的任务,你应该考虑一个无限循环,以避免堆栈溢出(没有双关语意)。
Instead of recursion or nested tasks, you should consider an infinite loop to avoid stack overflow (no pun intended).
from celery.task import Task class Randomer(Task): def run(self, **kwargs): while True: do_something(**kwargs) time.sleep(600)更多推荐
芹菜,我怎么运行一个任务,然后有任务运行的另一个任务,并保持下去?
发布评论