欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python-schedule模块(定时任务)基于官方文档总结

程序员文章站 2022-05-22 22:36:09
一.模块安装 "官方文档" 二.常用的使用案例 schedule.every().seconds schedule.every(2).seconds schedule.every(1).to(5).seconds schedule.every().minutes schedule.every().h ......

一.模块安装

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