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

Posted pythonywy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于python-schedule模块(定时任务)基于官方文档总结的主要内容,如果未能解决你的问题,请参考以下文章

Python 实现定时任务的八种方案

Python 实现定时任务的八种方案

Python 实现定时任务的八种方案!

APScheduler定时任务使用

python使用sched模块执行周期性任务和定时任务

celery定时任务