轻量定时任务调度库:
1、threading.Timer
2、schedule
一、threading.Timer
python自带,无需安装
# encoding: UTF-8
import threading
#Timer(定时器)是Thread的派生类,
#用于在指定时间后调用一个方法。
def func():
print'hello timer!'
timer =threading.Timer(5, func)
timer.start()
func()
注意:用这个方法要避免python默认最大递归深度为1000的问题
import sys sys.setrecursionlimit(1000000) 可修改最大递归深度
二、schedule
第三方库,需要额外安装,pip install schedule
import scheduleimport 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(5).to(10).days.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
while True:
schedule.run_pending()
time.sleep(1)
注意:
1、time.sleep(1),这句话的作用是:释放资源。如果没有这句话,就会造成大量的cpu占用
2、任务调度是按顺序执行的,所以上一个任务可能会影响到下一个任务,可以改用多线程的方式: https://blog.csdn.net/kamendula/article/details/51452352