django-celery 如何实现动态添加周期任务

2019 年 5 月 8 日
 TOUJOURSER
项目中现在有个需求是用户可以在前端页面添加定时或者周期任务,
后端的话目前采用 django-celery 来实现此类任务,
请问如何实现动态添加任务且不用重启 celery 相关进程?
4096 次点击
所在节点    Python
10 条回复
yongzhong
2019 年 5 月 8 日
django-celery-beat
lol0
2019 年 5 月 8 日
ditto
ifoolish
2019 年 5 月 8 日
可以看看 django-celery-beat 这个项目
whiteblack
2019 年 5 月 8 日
https://github.com/sibson/redbeat 可以看下这个项目,最近在用,基于 redis 做的,比较通用
julyclyde
2019 年 5 月 8 日
djang-celery 不是已经淘汰了吗?我记得已经合并入 celery 本身了啊
rogwan
2019 年 5 月 8 日
如果任务比较轻,时间短直接 while 循环吧,celery 有时假死在那,或者后端 borker 出故障也会出问题。繁重任务还是用专门的消息队列处理吧
ynkkdev
2019 年 5 月 8 日
- 5L 正解
- django-celery 在 celery 升级到 4.0 后已经废弃
- 最新的 celery 结合 django-celery-beat 可以实现实现动态添加周期任务
tikazyq
2019 年 5 月 8 日
可以参考一下我的爬虫项目 crawlab,http://www.github.com/tikazyq/crawlab,之前折腾 celery beat 没有成功,后来转用 apscheduler 就可以动态添加定时任务了 ;-)

文件地址: https://github.com/tikazyq/crawlab/blob/master/crawlab/tasks/scheduler.py
tikazyq
2019 年 5 月 8 日
LeoQ
2019 年 5 月 9 日
我看的一个项目叫 django-Q https://django-q.readthedocs.io/en/latest/ 因为周期任务都在数据库中,只要填函数名字和参数就可以添加任务

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

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

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

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

© 2021 V2EX