Celery中的递归任务

ser*_*iuz 4 python recursion celery

使用Celery我想写一个这样的任务:

@celery.task
def add_task():
    ....
    if(condition):
        add_task.apply_async(queue="default")
Run Code Online (Sandbox Code Playgroud)

我知道在python中,当你调用递归函数时,有一个最大深度.这种约束是否也适用于芹菜?

dav*_*ism 6

应该没有任何问题.

但是,如果add_task取决于子任务的结果,您可能会遇到一个问题,即您的工作人员用完了,但是从您的小片段看起来并不是这样.从技术上讲,您可以排队的任务数量有限,因为最终会耗尽内存.

你最好试试看看会发生什么!