现在如果要在 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 调起来
1
ClericPy 2019-12-08 22:17:52 +08:00
已经是 systemd 的时代了... 这是建国前......
造轮子精神可嘉, crontab 我以前用的是那个 plan 库, 配合 supervisord 做的后台管理 给 pipenv 贡献者点赞 👍 |
2
wzwwzw 2019-12-08 22:19:00 +08:00
apscheduler 不香吗? flask 本身就需要启动多个 worker 的,支持持久化,api 之类的。
|
3
superrichman 2019-12-08 22:49:26 +08:00
已 star, 原来是位大佬, follow 一下表示尊敬.
|
4
Trim21 2019-12-08 23:10:18 +08:00 1
写过 windows 的, 定时任务用的是 SCHTASKS, 可以用 schtasks /Create 和 schtasks /Delete 创建和删除
|
5
haoji 2019-12-08 23:25:57 +08:00
已 star
|
6
rogwan 2019-12-08 23:46:54 +08:00 via iPhone
多个 worker 进程模式使用 flask,用 楼主的 Flask-crontab 会重复启动定时任务吗?
|
7
Vogan 2019-12-08 23:59:15 +08:00 via iPhone
分布式应用的场景考虑过吗
|
8
laike9m 2019-12-09 02:23:45 +08:00
对于一些轻量级程序还是挺有用的
|
11
lolizeppelin 2019-12-09 15:21:22 +08:00
好好学习下写守护进程和要命了一样
|
12
frostming OP @lolizeppelin 「好好学习下」后面有断句吗
|