Python语言学习:schedule 一个精巧的作业调度库

这个库适合一些简单的任务调度
更新于: 2022-03-03 08:01:39

安装

pip install schedule

简单使用

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().minute.at(":17").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

优点

  • 小巧:轻量级,无需配置的作业调度库
  • 无其它依赖

缺点

  • 阻塞式调用
  • 无法动态添加或删除任务

不适合的场景

老实说,日程安排不是“一刀切”的日程安排库。该库旨在为简单的调度问题提供简单的解决方案。如果需要,你可能应该去别的地方看看:

  • 作业持久性(记住重启之间的计划)
  • 精确计时(亚秒精度执行)
  • 并发执行(多线程)
  • 本地化(时区、工作日或节假日)
  • 计划不考虑执行作业功能所需的时间。

为了保证稳定的执行计划,您需要将长时间运行的作业移出主线程(调度程序运行的地方)。有关示例实现,请参见并行执行。

参考