芹菜,我怎么运行一个任务,然后有任务运行的另一个任务,并保持下去?

编程入门 行业动态 更新时间:2024-10-09 22:15:26
本文介绍了芹菜,我怎么运行一个任务,然后有任务运行的另一个任务,并保持下去?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 #tasks.py from celery.task import Task class Randomer(Task): def run(self, **kwargs): #run Randomer again!!! return random.randrange(0,1000000) >>> from tasks import Randomer >>> r = Randomer() >>> r.delay()

现在,我运行简单的任务。和它返回一个随机数。但是,我怎么使它运行了一个任务,这个任务里面

推荐答案

您可以致电 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)

更多推荐

芹菜,我怎么运行一个任务,然后有任务运行的另一个任务,并保持下去?

本文发布于:2023-10-12 16:22:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1485260.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:芹菜   我怎么

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!