Wie kann ich das verzögern der Ausführung von Sellerie Aufgaben?

Habe ich ein kleines Skript, dass die Warteschlange einreiht, Aufgaben zur Bearbeitung. Dieses Skript macht eine ganze Menge Datenbank Abfragen, um die Elemente zu erhalten, sollte in die Warteschlange eingereiht. Das Problem, das ich bin vor ist, dass der Sellerie Arbeiter beginnen Kommissionierung bis die Aufgaben, sobald Sie in die Warteschlange eingereiht, die durch das Skript. Das ist richtig und es ist der Weg, Sellerie funktionieren soll, aber dies führt oft zu deadlocks zwischen meinem Skript und den Sellerie Arbeitnehmer.

Gibt es eine Möglichkeit, ich könnte enqueue alle meine Aufgaben aus dem Skript, aber die Verzögerung der Ausführung bis das Skript abgeschlossen ist oder bis eine festgelegte Zeit verzögern?

Konnte ich nicht finden diese in der Dokumentation von Sellerie oder django-celery. Ist das möglich?

Derzeit als quick-fix habe ich daran gedacht, indem alle Elemente verarbeitet werden, in eine Liste und, wenn mein script fertig ist die Ausführung aller Abfragen, ich kann einfach die Liste Durchlaufen und enqueue-Aufgaben. Vielleicht würde dies das Problem beheben, aber wenn Sie haben Tausende von items einreihen, dies könnte eine schlechte Idee.

InformationsquelleAutor Mridang Agarwalla | 2012-10-22

Schreibe einen Kommentar