2016-07-14 8 views

Antwort

0

Sie können einfach reinigen alle Aufgaben vor Sellerie wieder ab:

$ celery purge 
WARNING: This will remove all tasks from queue: celery. 
     There is no undo for this operation! 

(to skip this prompt use the -f option) 

Are you sure you want to delete all tasks (yes/NO)? 
+0

Nein, ich möchte nicht, die Aufgaben spülen. Ich habe nur den Sellerie, um den neuen Code neu zu laden, ohne alle Aufgaben neu zu laden – harshatba

0

Wenn Sie nicht die Aufgaben reinigen wollen, die in der Warteschlange waren also ausgeführt zu werden, können Sie auch sie wollen da die neuen Aufgaben kamen in der Warteschlange nach den alten auszuführen, dann werden offensichtlich jene alte Aufgabenvor den neuen Aufgaben ausgeführt werden, und weil es eine QUEUE ist, wird es First in First Out folgen.

Nun, wenn Sie die alten Aufgaben ausführen soll aber wollen nicht für die alten warten, die zuerst ausgeführt werden, von dem, was ich verstehen, indem Sie nicht die alten reinigen wollen, und auch nicht die Verzögerung wollen, dann können Sie zwei oder mehrere separate Warteschlangen für die Aufgaben pflegen.

Daher werden Ihre neuen Aufgaben bei jedem Neuladen einer neuen QUEUE zugewiesen, die nicht von den alten Aufgaben abhängig ist.

Siehe this ->How to keep multiple independent celery queues?