目的:可以动态的更改celery任务周期,并且不重启celery,更改的周期生效。
首先:我找到了对应任务的表,如下图:
前两个是任务周期时间表,后一个是任务表。
我通过数据库更改周期时间后,观察周期时间的循环间隔,发现周期时间更改并没有生效。
需要注意的坑:通过数据库更改,包代码检测不到周期时间发生更改,所以更改周期时间无效。
正确做法:进入到admin后台,找到对应任务的任务周期时间表,如下图
更改时间周期
这样就会生效。
个人猜测:这个表通过admin后台更改后,当点击保存的那一刻,会触发周期任务的一些机制,让正在运行任务的周期进行更改,而不是单单更改表数据。