Mam zadanie nadrzędne, które spowoduje odrodzenie arbitralnej i potencjalnie dużej liczby podzadań. Kiedy zarówno rodzic, jak i wszystkie podzadania zostały zakończone, muszę ustawić flagę w mojej bazie danych, aby wskazać, że jest gotowa. Jak najlepiej to zrobię?Wykrywanie, kiedy zadanie związane z selerem i wszystkie podzadania zostało ukończone.
Na przykład:
@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()
muszę wykryć kiedy master_task i wszystkich podzadań to ma tarła zakończeniu tak, że mogę ustawić flagę na pokrewnego modelu wskazują, że wszystko jest gotowe
Należy zauważyć, że "TaskSet został usunięty, ponieważ został zastąpiony przez konstrukcję grupy w Celery 3.0." – np8