celery 定时任务,使用crontab表达式不执行(版本4.3.x)
在使用celery 执行定时任务时,发现任务不会执行,schedule设置如下:

经测试,如果去掉hour,则任务每分钟都会执行,说明是hour的问题,那只有是时区的问题了。
遂将hour改为UTC的时间,发现任务可以执行,说明celery使用的是UTC时区,但我设置的时区如下:
CELERY_TIMEZONE='Asia/Shanghai'
CELERY_ENABLE_UTC=True
注意添加任务的时候使用utc时间,也就是上海时间-8 ,然后选择时区为上海时间
本文探讨了在Celery 4.3.x版本中,使用crontab表达式进行定时任务配置时遇到的执行问题。通过测试发现,当指定小时参数时,任务不会执行,原因是Celery默认使用UTC时区,而本地配置的时区为上海时间。文章提供了解决方案,即在添加任务时使用UTC时间,并正确设置时区。
877

被折叠的 条评论
为什么被折叠?



