2020-11-19 08:46:43.804
INFO 139709066150912 [beat.py:271] Scheduler: Sending due task HCM:_periodic_204432 (apps.time.schedule.models.receive_warning_task)
2020-11-19 08:46:43.814
INFO 139709066150912 [scheduler.py:220] apply_async:9:110:12004:<HCMScheduleEntry: HCM:_periodic_204432 apps.time.schedule.models.receive_warning_task(company_id=8, shift_id=2539, section_id=14893, warning_key='begin_warning') <crontab: 25 8 * * * (m/h/d/dM/MY)>
2020-11-20 09:15:40.843
INFO 140618944816128 [beat.py:271] Scheduler: Sending due task HCM:_periodic_204432 (apps.time.schedule.models.receive_warning_task)
2020-11-20 09:15:40.849
INFO 140618944816128 [scheduler.py:220] apply_async:6:525:36598:<HCMScheduleEntry: HCM:_periodic_204432 apps.time.schedule.models.receive_warning_task(company_id=8, shift_id=2539, section_id=14893, warning_key='begin_warning') <crontab: 25 8 * * * (m/h/d/dM/MY)>
各位大佬 我们用 celery 做定时打卡,8:25 提醒打卡,但是最近不是提前就是延后,排查日志看到本该 8:25 调度的任务 beat 在 9:15 或者 8:46 才发出,这有可能是什么引起的。
1
zachlhb 2020-11-20 16:47:38 +08:00 via Android
时区问题吧,有些地方要把时间转成 utc 时间
|
3
zachlhb 2020-11-20 21:11:40 +08:00 via Android
@dojo 起了几个 worker,有可能是 worker 没有心跳了,任务没有派到 worker 上,然后后面 worker 恢复了才派发任务,可以看看多起几个 worker 看看
|
4
jimmyismagic 2020-11-20 21:29:18 +08:00
celery 的定时器确实不怎么准,毕竟是消息式的,有可能队列堵塞住了,worker 设置的太少,被耗时的任务全部占据了,可以看一下任务队列的情况
|
5
julyclyde 2020-11-21 19:39:27 +08:00
beat 应该是只负责到时间把任务放到队列里
并不负责执行啊 |