编程语言
首页 > 编程语言> > python – 检测芹菜任务和所有子任务何时完成

python – 检测芹菜任务和所有子任务何时完成

作者:互联网

我有一个父任务,将产生任意和可能大量的子任务.一旦父项和所有子任务都完成,我需要在我的数据库中设置一个标志,表明它已准备就绪.我最好怎么做呢?

例如:

@task()
def master_task(foo):
    foo_obj = Foo.objects.get(id=foo)
    for bar in foo_obj.bar_set.all():
        more_work.delay(bar.id)

@task()
def more_work(bar):
   bar_obj = Bar.objects.get(id=bar)
   do_work()

我需要检测master_task及其生成的所有子任务何时完成,以便我可以在相关模型上设置一个标志,以指示所有内容都已准备就绪

解决方法:

使用chords

你应该使用[TaskSet] [1]:
&GT TaskSet可以一次轻松调用多个任务,然后能够以调用任务的相同顺序连接结果.

标签:python,django,celery,django-celery
来源: https://codeday.me/bug/20190518/1127782.html