私はDjangoアプリでCeleryを使用していますが、ほとんどの場合、物事は順調に進んでいます。参考までに、私のセロリビート構成は次のとおりです。
CELERYBEAT_SCHEDULE = {
'update-every-5-secs': {
'task': 'app1.tasks.task1',
'schedule': timedelta(seconds=5),
'args': (),
},
'archive-request-records-every-hour': {
'task': 'app0.tasks.archive_requests',
'schedule': crontab(minute=0, hour='*/1'),
'args': (),
},
'push-ios-background-every-5-minutes': {
'task': 'app0.tasks.push_ios_background',
'schedule': crontab(minute='*/5'),
'args': (),
},
}
1 ~ 2 日ごとにランダムに完全に同期しなくなることに気付きました。たとえば、5 分ごとに実行される最後のエントリは、通常、1:00、1:05、1:10、1:15 などのように実行されます。
これが今朝の動作です: 7:30, 7:35, 7:40, 7:46 , 7:50, 8:03, 8:16, 8:32, 8:50, 9:13, 9: 21, 9:26, 9:29, 9:32, 9:38, 9:47, 9:59, 10:08, 10:22, 10:24, 10:24, 10:24, 10:24, 10:25, 10:25, 10:25, 10:25, 10:25, 10:25, 10:25, 10:25, 10:25, 10:25, 10:25, 10:26, 10: 26、10 :30、10:35、10:40...
同期が外れて、一度にすべてを埋めようとして、それから自分自身を取り戻しているように見えます。最初はただのまぐれだと思っていましたが、あまりにも頻繁に発生しています。これには、時間通りに実行する必要があるミッション クリティカルなプロセスがあります。
これを防ぐ方法はありますか?人々がセロリで多くの成功を収めているように見えるので、私は本当に困惑しています.