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

posted @ 2019-11-30 22:33  小小咸鱼YwY  阅读(3597)  评论(9编辑  收藏  举报