V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
frostming
V2EX  ›  Python

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

  •  
  •   frostming ·
    frostming · 2019 年 12 月 8 日 · 5934 次点击
    这是一个创建于 2226 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在如果要在 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 调起来

    12 条回复    2019-12-09 18:02:16 +08:00
    ClericPy
        1
    ClericPy  
       2019 年 12 月 8 日
    已经是 systemd 的时代了... 这是建国前......

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

    给 pipenv 贡献者点赞 👍
    wzwwzw
        2
    wzwwzw  
       2019 年 12 月 8 日
    apscheduler 不香吗? flask 本身就需要启动多个 worker 的,支持持久化,api 之类的。
    superrichman
        3
    superrichman  
       2019 年 12 月 8 日
    已 star, 原来是位大佬, follow 一下表示尊敬.
    Trim21
        4
    Trim21  
       2019 年 12 月 8 日   ❤️ 1
    写过 windows 的, 定时任务用的是 SCHTASKS, 可以用 schtasks /Create 和 schtasks /Delete 创建和删除
    haoji
        5
    haoji  
       2019 年 12 月 8 日
    已 star
    rogwan
        6
    rogwan  
       2019 年 12 月 8 日 via iPhone
    多个 worker 进程模式使用 flask,用 楼主的 Flask-crontab 会重复启动定时任务吗?
    Vogan
        7
    Vogan  
       2019 年 12 月 8 日 via iPhone
    分布式应用的场景考虑过吗
    laike9m
        8
    laike9m  
       2019 年 12 月 9 日
    对于一些轻量级程序还是挺有用的
    frostming
        9
    frostming  
    OP
       2019 年 12 月 9 日
    @rogwan 一次添加则持久化到 crontab 后台,和 flask 运行与否,用多少 worker 运行无关
    frostming
        10
    frostming  
    OP
       2019 年 12 月 9 日
    @Trim21 感谢
    lolizeppelin
        11
    lolizeppelin  
       2019 年 12 月 9 日
    好好学习下写守护进程和要命了一样
    frostming
        12
    frostming  
    OP
       2019 年 12 月 9 日
    @lolizeppelin 「好好学习下」后面有断句吗
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1388 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    ♥ Do have faith in what you're doing.