Kereviz hakkında bilgi edindim ve kavramsal bir soruya cevap bulamadım ve deney yapmanın tuhaf sonuçları oldu.Bir Celery Worker'in planlanan (eta) görevleri kapatıldığında ne olur?
Zamanlanmış görevler olduğunda (planlı olarak, periyodik, ancak gelecekte eta = x kullanarak çalıştırmayı planladığım anlamına gelir) Kereviz'e gönderildiklerinde, sıradan bir çalışan tarafından hemen tüketiliyor gibi görünüyorlar Redis varsayılan kereviz anahtarında/kuyruğunda kalmaktan daha iyidir. Muhtemelen işçi aslında eta'daki görevleri yerine getirecektir.
Bu çalışanın kapatılması veya yeniden başlatılması durumunda (örneğin, kayıtlı görevleri güncellemek için) ne olur? Bu planlanan görevler kaybolur mu? Onlar "koşma" değiller, bu yüzden sıcak bir sona erdirme onlar için elbette bitirmeyi beklemezdi.
Bu görevlerin sıraya dönmeye ve bir sonraki kullanılabilir çalışan tarafından tüketilmeye zorlanmasının bir yolu var mı? Herhalde
, elle, tek bir işçinin kapatmadan önce görevleri atardım:
http://celery.readthedocs.org/en/latest/userguide/workers.html#inspecting-workers
ve yeni bir işçi geri dolduğunda tekrar gönderebilirsiniz ... ama bu otomatik olarak gerçekleşmesi beklenir?
gerçekten başarıyla yürütüldü kadar kuyrukta görevi tutacak gerçek Kereviz olarak ayarlanırsa acks_late http://celery.readthedocs.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.acks_late
bir göz atın bu
teşekkür