我有一个项目,不包括Django,所以我不能使用djancelery。在
但是我发现了使用sqlalchemy的django-celery DatabaseSchedule的modification。在
它像djceley的DatabaseScheule一样工作得很好。 但唯一的问题是它似乎不发送运行时添加的任务,然后我重新启动celery beat,之前添加的任务将成功发送。在
那么,是否可以在不重新启动celery beat的情况下动态添加/删除任务?在
谢谢你的建议。为我糟糕的英语道歉。在
对不起,是我的错。在运行时添加的任务不会立即提取,您可以将DatabaseScheduler.sync_every
值更改为更快的值。所以在等了几分钟后就可以工作了。在
多谢屠木的帮助。在
解决方案1:
我也有同样的问题,问题是,Celery周期调度程序将寻找
[djcelery_periodictasks]
,它将具有[last_update]
值。如果[last_update]
没有变化,那么芹菜就不会检查[djcelery_periodictask]
表。在我们要做的是,当您添加/删除一个任务时,更新
[last_update]
时间在[djcelery_periodictasks]
内。在在我的senario中,我有python中的周期性scheduelr。但是我的Web用户界面是用C编写的。我的web应用程序将在
[djcelery_periodictask]
中添加/删除条目,并在[djcelery_periodictasks]
内更新[last_update]
时间。在这样,我就解决了这个问题。在
当我们使用标准的
flower
UI时,如果我们添加/删除任务,它将在[djcelery_periodictasks]
内更新[last_update]
时间。如果您已经开发了自己的自定义UI/应用程序,则必须包含在[djcelery_periodictasks]
时间内更新[last_update]
的功能,以动态添加/删除任务。在解决方案2:
使用花:https://github.com/mher/flower
相关问题 更多 >
编程相关推荐