Python语言学习:schedule 一个精巧的作业调度库
这个库适合一些简单的任务调度
安装
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)
优点
- 小巧:轻量级,无需配置的作业调度库
- 无其它依赖
缺点
- 阻塞式调用
- 无法动态添加或删除任务
不适合的场景
老实说,日程安排不是“一刀切”的日程安排库。该库旨在为简单的调度问题提供简单的解决方案。如果需要,你可能应该去别的地方看看:
- 作业持久性(记住重启之间的计划)
- 精确计时(亚秒精度执行)
- 并发执行(多线程)
- 本地化(时区、工作日或节假日)
- 计划不考虑执行作业功能所需的时间。
为了保证稳定的执行计划,您需要将长时间运行的作业移出主线程(调度程序运行的地方)。有关示例实现,请参见并行执行。