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

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

  1. 基本使用

    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 函数,非常简单方便。

  2. 更多调度任务例子

    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)
    
  3. 只运行一次任务

    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)
    
  4. 参数传递给作业

    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')
    
  5. 获取目前所有的作业

    all_jobs = schedule.get_jobs()
    
  6. 取消所有作业

    schedule.clear()
    
  7. 标签功能

    # 打标签
    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')
    
  8. 设定作业截止时间

    from datetime import datetime, timedelta, time
    
    def job():
        print('Boo')
    
    # 每个小时运行作业,18:30后停止
    schedule.every(1).hours.until("18:30").do(job)
    # 其他截止时间设置...
    

[这些示例涵盖了从秒到月的不同配置,你可以根据需求选择合适的定时任务方式。

相关推荐

  1. python自动定时任务schedule使用方法

    2024-02-17 06:10:01       54 阅读
  2. 使用Spring Boot整合定时任务Schedule

    2024-02-17 06:10:01       37 阅读
  3. 定时任务类:使用@Scheduled注解设计定时任务

    2024-02-17 06:10:01       23 阅读
  4. SpringBoot 定时器@Scheduled使用

    2024-02-17 06:10:01       39 阅读
  5. nodejs 定时任务执行 node-cron node-schedule

    2024-02-17 06:10:01       48 阅读
  6. @Scheduled注解创建定时任务 3 种模式

    2024-02-17 06:10:01       30 阅读
  7. 使用Oracle数据库创建定时任务方法

    2024-02-17 06:10:01       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-17 06:10:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-17 06:10:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-17 06:10:01       82 阅读
  4. Python语言-面向对象

    2024-02-17 06:10:01       91 阅读

热门阅读

  1. 搜索引擎枚举

    2024-02-17 06:10:01       57 阅读
  2. ACP科普:敏捷开发之kanban

    2024-02-17 06:10:01       44 阅读
  3. OpenAI 生成视频模型 Sora 论文翻译

    2024-02-17 06:10:01       46 阅读
  4. uniapp如何给视频组件设置图片

    2024-02-17 06:10:01       48 阅读
  5. ubantu 新建.sh 文件

    2024-02-17 06:10:01       48 阅读
  6. STM32-寄存器和HAL库以及如何使用

    2024-02-17 06:10:01       50 阅读
  7. react中如何做到中断diff过程和恢复

    2024-02-17 06:10:01       48 阅读
  8. Vue3 中应该使用 Ref 还是 Reactive?

    2024-02-17 06:10:01       59 阅读
  9. 【VTKExamples::PolyData】第二十八期 LinearExtrusion

    2024-02-17 06:10:01       43 阅读