python-schedule模块(定时任务)基于官方文档总结
一.模块安装
pip3 install schedule
二.常用的使用案例
#基本格式
#创建方法
def func():
print("方法")
#创建定时
schedule.every().seconds.do(func) #每秒运行一次
#如果方法需要传参的话do(func,参数1)
#开循环
while True:
schedule.run_pending()
#如果值运行一次schedule.every().day.do(func).run()
- schedule.every().seconds
每秒运行一次
- schedule.every(2).seconds
每2秒运行一次
- schedule.every(1).to(5).seconds
每1-5秒运行一次
- schedule.every().minutes
每分钟运行一次
- schedule.every().hour
每小时运行一次
- schedule.every().day
每天运行一次如果后面没有at表示每天当前时间执行一次
- schedule.every().day.at("00:00").
每天凌晨运行一次
- schedule.every().week
每周凌晨运行一次
- schedule.every().wednesday.at("00:00")
每周三凌晨运行一次
#周一到周日
monday
tuesday
wednesday
thursday
friday
saturday
sunday
#at一些技巧
at(HH:MM:SS)
at("00:00") 凌晨一点
every().hour.at(':30') 每小时30分
every().minute.at(':30') 没分钟30秒
#关于day与days以及week和weeks,monday与mondays等等等等
你能用day的地方一定能用days其他也一样
如果every()里面值不为1或者空时候必须用他复数
三.取消任务和取消指定任务
取消任务
schedule.clear()
取消指定任务
#需要引入tap
def greet(name):
print('Hello {}'.format(name))
schedule.every().day.do(greet, 'Andrea').tag('daily-tasks', 'friend')
schedule.every().hour.do(greet, 'John').tag('hourly-tasks', 'friend')
schedule.every().hour.do(greet, 'Monica').tag('hourly-tasks', 'customer')
schedule.every().day.do(greet, 'Derek').tag('daily-tasks', 'guest')
schedule.clear('daily-tasks') #q取消所有标签为daily-tasks的任务
四.如何让任务值执行一次
就是在定义任务的时候加个return