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