2015-02-19 12 views
5

Ho imparato a conoscere il sedano e non sono stato in grado di trovare la risposta a una domanda concettuale e ho avuto risultati strani sperimentando.Cosa succede alle attività pianificate (eta) di un Celery Worker quando si spegne?

Quando ci sono attività pianificate (programmate, non intendo periodiche ma programmate per essere eseguite in futuro usando eta = x) inviate a Celery, sembrano essere consumate dalla coda immediatamente da un lavoratore (piuttosto di rimanere nella chiave/coda di default di Redis). Presumibilmente, il lavoratore eseguirà effettivamente i compiti su eta.

Cosa succede se quell'operatore deve essere spento o riavviato (per aggiornare ad esempio le attività registrate)? Le attività programmate andrebbero perse? Non stanno "correndo", quindi un caldo termine non aspetterebbe che finissero, naturalmente.

Esiste un modo per forzare tali attività a ritornare in coda e consumate dal successivo operatore disponibile?

suppongo, manualmente, si può eseguire il dump dei compiti prima di spegnere un lavoratore:

http://celery.readthedocs.org/en/latest/userguide/workers.html#inspecting-workers

e inviare nuovamente quando un nuovo lavoratore è tornato ... ma è questo dovrebbe avvenire automaticamente?

Sarebbe davvero apprezzare alcun aiuto con questo

Grazie

risposta

Problemi correlati