2016-03-23 25 views
1

Her saat başı çalışması planlanan periyodik bir görev olduğunu varsayalım. Bir işçi görevleri alır ve işlemeye başlar. Görev işlenirken, celeryd süreci (denetim otoritesi tarafından kontrol edilir) yeniden başlatılır (süpervizör tekrar başlatılır). Görev hiç bir zaman idam edilmemiş olsa da, yeniden idam edilmeyecek.Kereviz içinde sonlandırılırsa periyodik bir görev nasıl alınır?

Periyodik görevi hemen yeniden sıraya alabilir ve görevlerin birden çok sürümünün aynı anda çalışmasını nasıl engelleyebilirim? (Örneğin my_actual_task.defer(…)) tamamlanana kadar sıradan kaldırılmayacak (

cevap

0

bunu yapmak için güzel bir yolu olabilir, ancak sadece kuyrukta düzenli bir görev oluşturmak için periyodik görevi kullanabilirsiniz acks_late kullandığınızı varsayarak).

Eğer acks_late kullanmıyorsanız, görevin büyük bir kısmını bir denemeye koyabilirsiniz ve ilgili finally'da bir my_actual_task.retry() girin. Her iki durumda da, genellikle, işlerini bitirme şansı vermeden işçileri öldürmekten kaçınmalısınız.

İlgili konular