我使用 django-celery-beat 创建了一些定时任务,大概如图,但是很奇怪的是有 3 个任务没有按照预定的 crontab 规则执行,其他都正常。先排除任务本身的问题,以为我试过修改定时任务策略,没有执行的任务可以执行。
首先我说一下我的关键配置:
TIME_ZONE = 'Asia/Shanghai'USE_TZ = TrueCELERY_TIMEZONE = 'Asia/Shanghai'CELERY_ENABLE_UTC = True
也就是启用 UTC 时间,然后本地使用北京时间。
ChatGPT 一直让我排查时区问题,我也照做了,但是一直没解决,毕竟按照上面的现象,如果是时区问题,为什么其他的任务正常?我无法理解这个现象,特别是 9:50 执行的任务,其他 9:35 和 9:40 的都正常。
有人遇到过类似的问题吗?
(另外补充:我发现我把 9:50 的任务改成 9 点和 16 点两个时间都执行,这个任务就正常执行了。。。非常不理解)