Kereviz 3.1.17 kullanıyorum ve django programımda aracı 3.0.2 olarak redis kullanıyorum. Ubuntu 14.04'te koşuyor. İşte Celerybeat periyodik görevler uzun çalışan bir görevin arkasına takılırsa birden çok kez çalıştırılırsa
CELERYBEAT_SCHEDULE = {
'task1': {
'task': 'api.tasks.exsample.task1',
'schedule': crontab(hour=1, minute=0),
'args':()
},
'task2': {
'task': 'api.tasks.exsample.task2',
'schedule': crontab(hour=1, minute=30),
'args':()
},
'task3': {
'task': 'api.tasks.exsample.task3',
'schedule': crontab(hour=2, minute=0),
'args':()
},
'task4': {
'task': 'api.tasks.exsample.task4',
'schedule': crontab(hour=2, minute=30),
'args':()
},
'task5': {
'task': 'api.tasks.exsample.task5',
'schedule': crontab(hour=2, minute=40),
'args':()
},
'task6': {
'task': ''api.tasks.exsample.task6',
'schedule': crontab(hour=2, minute=50),
'args':()
},
}
sorundur:
görevleri sonraki göreve takvimi zamanından önce tamamlamak, tamam çalışır ayarlarında
, ben gibi CELERYBEAT_SCHEDULE tanımladı. Ancak bir görev uzun bir süre çalışırsa, örneğin, görev1 iki saat çalışır, daha sonra sonraki görevler her biri için birkaç kez yürütülür. Kereviz ve kereviz çalkalayıcısını yeniden başlatırsam, bazen de fazla mesai görevleri vardır, ama bazen değil.Bu beni çok karıştırdı. Bir süredir kereviz belgelerini okudum, ama nedenini anlayamadım. Birisi bana bunun neden olduğunu söyler mi, görev kuyruğu engellenirse veya kereviz yeniden başlatılırsa kereviz mesajını ve görevini nasıl yönetir?