Schedule
是使用 Python 开发的一个定时任务触发器,可以使用易读的方式执行定时的任务。
安装方式
使用方式
Schedule
模块将函数作为 Job 任务,利用轮询的方式进行函数的定时执行- Job 任务的执行流程由
Scheduler
进行规划并且执行 - 当函数封装为 Job 任务时可以采用其 do 方法将 Job 任务加入
Scheduler
并进行轮询定时任务
使用示例
import time
import schedule
def job():
print("I'm working...")
schedule.every(10).seconds.do(job)
schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)
schedule.every(5).to(10).minutes.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
schedule.every().day.at("12:42", "Europe/Amsterdam").do(job)
schedule.every().minute.at(":17").do(job)
def job_with_argument(name):
print(f"I am {name}")
schedule.every(10).seconds.do(job_with_argument, name="Peter")
while True:
schedule.run_pending()
time.sleep(1)
注意事项
- 使用时需要注意加入任务使用的是串行的方式,任务的执行会阻塞后续任务的执行
- 定时任务的执行由于阻塞导致并非准时执行,需要特别注意
- 采用多线程或多进程时需要注意变量的一致性,代码实现中关于锁并没有实现