django-celery-beat部署后beat不派发任务解决记录

原创
2020/06/01 11:09
阅读数 5.9K
django-celery-beat部署到服务器上
启动celery beat -A name -l info后
发现在数据库中配置的定时任务根本就没执行
查看beat日志,发现启动后,就没派发任何任务
测试环境都是好的
生产环境有问题
排查后发现,生产环境的django_celery_beat_periodictask表是从测试环境直接拷贝数据过去的
表里last_run_at里,有测试环境上次运行的时间数据
查看了下django-celery-beat的源代码,beat每次会取出表里的last_run_at的时间加上间隔时间和服务器的当前时间进行判断,若时间到了,就派发任务。
由于测试环境虚拟机时间和正式环境服务器的时间有点差异。测试机时间早于正常的时间。导致正式环境一直认为还没到派发时间,所以没有派发
把表里的时间改一下,就正常了。
 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部