5

任意の潜在的に大量のサブタスクを生成する親タスクがあります。親タスクとすべてのサブタスクの両方が完了したら、準備ができていることを示すフラグをデータベースに設定する必要があります。どうすればそれを行うのが最善でしょうか?

例えば:

@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 とそれが生成するすべてのサブタスクが完了したことを検出する必要があります。

4

2 に答える 2

4

コードを使う

[TaskSet][1] を使用する必要があります。 > TaskSet を使用すると、一度に複数のタスクを簡単に呼び出すことができ、タスクが呼び出されたのと同じ順序で結果を結合できます。
于 2011-06-30T07:29:47.533 に答える