前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中的任务调度库

Python中的任务调度库

作者头像
追马
发布2020-08-04 20:18:39
1.5K0
发布2020-08-04 20:18:39
举报
文章被收录于专栏:一日一工具

Python中的任务调度库

最近写一个异步的小功能,不想一上来就用Celery重器,最开始使用的是Flask搭配concurrent.futures的 ThreadPoolExecutor功能来实现,但是执行效果并不如预期,后面改成了FastAPI的Background Tasks功能,能实现想要的效果,但是也有缺陷,今天我们来罗列下python中的受欢迎的任务调度库有哪些。

任务调度库

这里的罗列只是所接触到的其中的一小部分,如果你使用过更好的,欢迎留言

列表

•schedule•python-crontab•APScheduler•Celery•Django Q

schedule

schedule 是给人类使用的作业调度器,简单、轻量级、无需配置、语法简单,缺点是阻塞式调用、无法动态添加或删除任务。

python-crontab

python-crontab 是一个 Python 模块,它提供对 cron 作业的访问,并使我们能够从 Python 程序中操作 crontab 文件。能够动态添加任务。

APScheduler

一款Python开发的定时任务工具,偏定时,但是不依赖于Linux系统的crontab系统定时,独立运行,使用也非常广泛。

Celery

Celery 是一个简单,灵活,可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具, 也可用于任务调度。

Django Q

django的多处理分布式任务队列,有人拿这个和celery做对比,功能强大,可以和Django无缝集成,我之前写过一个工具用的就是这个,更轻量级,个人觉得很好用。缺点是只能用在Django上。

如何选择

看我们的场景是实现小工具还是要实现后端服务,如果是小工具的话,追求简洁明了,尽可能的减少依赖性的添加,如果是实现后端服务,我们需要为前端返回进度和状态,这个时候用的最多的算是APScheduler和Celery了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 链上追马 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python中的任务调度库
    • 任务调度库
      • schedule
        • python-crontab
          • APScheduler
            • Celery
              • Django Q
                • 如何选择
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档