无需额外进程的 Flask 定时任务扩展

2019-12-08 22:10:50 +08:00
 frostming

现在如果要在 Flask 中做后台定时任务,主要有 Celery, APScheduler, Huey 几种方案可选,但是这些都需要另起一个外挂进程处理任务,有的还需要额外的服务(redis, rabbitmq)等( Celery 对新手还不友好,文档劝退)。

既然系统上已经有了 crontab,为什么不用它呢?找了一下发现 django-crontab 在 Flask 没有对应的扩展。 代码很简单,两个小时撸出来的,方便 Flask 新手学习 Flask 扩展的编写。非常微小的工作,如果觉得好用就给个 star。 地址在 https://github.com/frostming/flask-crontab

P.S. 既然是用 crontab,那当然不支持 windows,等我有空看看 windows 的定时任务怎么用 python 调起来

5158 次点击
所在节点    Python
12 条回复
ClericPy
2019-12-08 22:17:52 +08:00
已经是 systemd 的时代了... 这是建国前......

造轮子精神可嘉, crontab 我以前用的是那个 plan 库, 配合 supervisord 做的后台管理

给 pipenv 贡献者点赞 👍
wzwwzw
2019-12-08 22:19:00 +08:00
apscheduler 不香吗? flask 本身就需要启动多个 worker 的,支持持久化,api 之类的。
superrichman
2019-12-08 22:49:26 +08:00
已 star, 原来是位大佬, follow 一下表示尊敬.
Trim21
2019-12-08 23:10:18 +08:00
写过 windows 的, 定时任务用的是 SCHTASKS, 可以用 schtasks /Create 和 schtasks /Delete 创建和删除
haoji
2019-12-08 23:25:57 +08:00
已 star
rogwan
2019-12-08 23:46:54 +08:00
多个 worker 进程模式使用 flask,用 楼主的 Flask-crontab 会重复启动定时任务吗?
Vogan
2019-12-08 23:59:15 +08:00
分布式应用的场景考虑过吗
laike9m
2019-12-09 02:23:45 +08:00
对于一些轻量级程序还是挺有用的
frostming
2019-12-09 08:48:15 +08:00
@rogwan 一次添加则持久化到 crontab 后台,和 flask 运行与否,用多少 worker 运行无关
frostming
2019-12-09 08:49:29 +08:00
@Trim21 感谢
lolizeppelin
2019-12-09 15:21:22 +08:00
好好学习下写守护进程和要命了一样
frostming
2019-12-09 18:02:16 +08:00
@lolizeppelin 「好好学习下」后面有断句吗

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

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

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

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

© 2021 V2EX