python3 定时器选择 schedule
自带功能十分强大;
现有需求是每隔15分钟执行一次程序,考虑到程序执行周期需要进行异步执行,防止吧执行周期也加入进去;
from threading import Thread
import schedule
def asynca(f):
def wrapper(*args, **kwargs):
thr = Thread(target=f, args=args, kwargs=kwargs)
thr.start()
return wrapper
@asynca
def do_ship():
pass
schedule.every(15).minutes.do(do_ship)
while True:
schedule.run_pending()
一些样例:
# 15秒执行一次
schedule.every(5).seconds.do(do_ship)
# 15分钟执行一次
schedule.every(15).minutes.do(do_ship)
# 3小时执行一次
schedule.every(3).hour.do(do_ship)
# 限定时间执行
schedule.every().day.at("2:00").do(do_ship)