python自动定时任务schedule库的使用方法

 更新时间:2024年02月18日 11:49:31   作者:czliutz  
当你需要在 Python 中定期执行任务时,schedule 库是一个非常实用的工具,它可以帮助你自动化定时任务,本文给大家介绍了python自动定时任务schedule库的使用方法,需要的朋友可以参考下

当你需要在 Python 中定期执行任务时,schedule 库是一个非常实用的工具。它可以帮助你自动化定时任务。以下是一些使用示例:

  • 基本使用
import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

上面的代码表示每隔 10 分钟执行一次 job 函数,非常简单方便。

  • 更多调度任务例子
import schedule
import time

def job():
    print("I'm working...")

# 每十分钟执行任务
schedule.every(10).minutes.do(job)
# 每个小时执行任务
schedule.every().hour.do(job)
# 每天的10:30执行任务
schedule.every().day.at("10:30").do(job)
# 每个月执行任务
schedule.every().monday.do(job)
# 每个星期三的13:15分执行任务
schedule.every().wednesday.at("13:15").do(job)
# 每分钟的第17秒执行任务
schedule.every().minute.at(":17").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)
  • 只运行一次任务
import schedule
import time

def job_that_executes_once():
    # 此处编写的任务只会执行一次...
    return schedule.CancelJob

schedule.every().day.at('22:30').do(job_that_executes_once)

while True:
    schedule.run_pending()
    time.sleep(1)
  • 参数传递给作业
import schedule

def greet(name):
    print('Hello', name)

# 将额外的参数传递给 job 函数
schedule.every(2).seconds.do(greet, name='Alice')
schedule.every(4).seconds.do(greet, name='Bob')
  • 获取目前所有的作业
all_jobs = schedule.get_jobs()
  • 取消所有作业
schedule.clear()
  • 标签功能
# 打标签
schedule.every().day.do(greet, 'Andrea').tag('daily-tasks', 'friend')
schedule.every().hour.do(greet, 'John').tag('hourly-tasks', 'friend')
# 获取所有该标签的任务
friends = schedule.get_jobs('friend')
# 取消所有 daily-tasks 标签的任务
schedule.clear('daily-tasks')
  • 设定作业截止时间
from datetime import datetime, timedelta, time

def job():
    print('Boo')

# 每个小时运行作业,18:30后停止
schedule.every(1).hours.until("18:30").do(job)
# 其他截止时间设置...

到此这篇关于python自动定时任务schedule库的使用方法的文章就介绍到这了,更多相关python schedule库使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python针对给定字符串求解所有子序列是否为回文序列的方法

    Python针对给定字符串求解所有子序列是否为回文序列的方法

    这篇文章主要介绍了Python针对给定字符串求解所有子序列是否为回文序列的方法,涉及Python针对字符串的遍历、判断、运算相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 浅谈Python的自省Introspection和反射机制Reflection

    浅谈Python的自省Introspection和反射机制Reflection

    这篇文章主要介绍了浅谈Python的自省Introspection和反射机制Reflection,反射就是通过字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动,需要的朋友可以参考下
    2023-08-08
  • Python/MySQL实现Excel文件自动处理数据功能

    Python/MySQL实现Excel文件自动处理数据功能

    在没有服务器存储数据,只有excel文件的情况下,如何利用SQL和python实现数据分析和数据自动处理的功能?本文就来和大家聊聊解决办法
    2023-02-02
  • python的继承知识点总结

    python的继承知识点总结

    在本文里小编整理的是关于python的继承知识点总结内容,学习到关于继承的读者们可以参考一下。
    2018-12-12
  • python lambda的使用详解

    python lambda的使用详解

    这篇文章主要介绍了python lambda的使用详解,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • 正确理解Python中if __name__ == ''__main__''

    正确理解Python中if __name__ == ''__main__''

    今天小编就为大家分享一篇关于正确理解Python中if __name__ == '__main__' ,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 基于Tensorflow:CPU性能分析

    基于Tensorflow:CPU性能分析

    今天小编就为大家分享一篇基于Tensorflow:CPU性能分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python开发之基于thread线程搜索本地文件的方法

    python开发之基于thread线程搜索本地文件的方法

    这篇文章主要介绍了python开发之基于thread线程搜索本地文件的方法,以完整实例形式分析了Python基于多线程处理搜索问题的相关实现技巧,需要的朋友可以参考下
    2015-11-11
  • python使用redis模块来跟redis实现交互

    python使用redis模块来跟redis实现交互

    这篇文章主要介绍了python使用redis模块来跟redis实现交互,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Pandas的AB BA类型数据框去重复

    Pandas的AB BA类型数据框去重复

    这篇文章主要为大家介绍了Pandas的AB BA类型数据框去重复实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论