Celery5.0 定期任务的重启和动态添加和删除的实现

2020-11-19 17:02:10 +08:00
 sunhk25

1.通过 Python ( Flask )启动,但是不知道如何重启(想到的是通过进程名强制关闭后再启动)

subprocess.Popen(['celery', '-A', 'vextia.celery', 'beat', '-s', 'temp/celerybeat-schedule'])

2.如果想通过画面来管理定时任务的话,如何添加和删除任务

https://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#entries

2535 次点击
所在节点    Python
9 条回复
a719114136
2020-11-19 17:05:23 +08:00
为啥要通过 flask 启动?
sunhk25
2020-11-19 17:39:09 +08:00
@a719114136
开发阶段图省事 跟应用一块启动
nonduality
2020-11-19 19:48:25 +08:00
用 supervisor 管理 celery 进程,别用 subprocess 或 shell 脚本。动态增删 celery 任务可以参考 celery-beat 的代码,我基于 celery-beat 的 model 和 api 实现过。
sunhk25
2020-11-19 21:22:04 +08:00
@nonduality
谢谢建议,supervisor 看样子不错,需要 Linux 容器来开发
动态增删看来还是没有太简单方便的方法
fhsan
2020-11-20 09:50:26 +08:00
嗯,django-celery-beat
Macv1994
2020-11-20 13:12:35 +08:00
可以考虑 flask-apscheduler
sunhk25
2020-11-20 15:56:53 +08:00
@Macv1994 现在看起来 flask-apscheduler 定时任务管理方便些
wwf
2020-12-02 11:32:25 +08:00
定时任务落地到数据库中,删除和添加还不是你想怎么来就怎么来
jwen
2020-12-04 18:33:50 +08:00
刚好在弄这个,我用的 flask-apschduler,还可以
supervisor 也提供了 api 出来的,所以都可以在一个 web 界面控制 crontab 和自定义的 job

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/727206

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX