Add n Aufgaben Sellerie Warteschlange und warten auf die Ergebnisse
Ich würde mehrere Aufgaben hinzufügen, um Sellerie Warteschlange und warten auf Ergebnisse. Ich habe verschiedene Ideen, wie ich dies erreichen, nutzen Sie irgendeine form von shared storage (memcached, redis, db, etc.), allerdings hätte ich gedacht, es ist etwas, Sellerie verarbeiten kann automatisch, aber ich finde keine online-Ressourcen.
Code-Beispiel
def do_tasks(b):
for a in b:
c.delay(a)
return c.all_results_some_how()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Sellerie >= 3.0, TaskSet ist veraltet zu Gunsten von Gruppe.
Start der Gruppe im hintergrund:
Warten:
.s()
gefunden werden kann in dercelery.Signature
docs hierAufgabe.delay
gibtAsyncResult
. VerwendenAsyncResult.get
zu bekommen Ergebnis für jede Aufgabe.Zu tun, dass Sie brauchen, um Referenzen zu den Aufgaben.
Oder verwenden Sie
ResultSet
:ResultSet
die eine Liste von Ergebnissen (oder leere Liste) schon im Konstruktor. Ich habe bei einer Bearbeitung der post, um es zu korrigieren.Habe ich das Gefühl, dass Sie nicht wirklich wollen, der Verzug aber das async-feature von Sellerie.
Ich denke, Sie wirklich wollen, eine TaskSet: