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

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!