📜  python 重复调度程序 - Python (1)

📅  最后修改于: 2023-12-03 15:34:13.972000             🧑  作者: Mango

Python 重复调度程序

在编写程序时,我们经常需要定期执行某些代码。Python 重复调度程序可以帮助我们自动调度代码的执行,并且非常灵活可配置。

1. 安装

安装 Python 的调度程序库:

pip install schedule
2. 基本用法

下面是一个简单的例子,我们调度一个函数 print_hello(),每隔 10 秒钟执行一次:

import schedule
import time

def print_hello():
    print("Hello")

schedule.every(10).seconds.do(print_hello)

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

在上面的代码中,我们使用 schedule.every(10).seconds.do(print_hello) 将 print_hello() 函数的调度配置为每隔 10 秒钟执行一次。schedule.run_pending() 用于运行待定的任务,time.sleep(1) 执行时暂停一秒钟。

3. 更高级的调度配置

除了上面的例子,Python 重复调度程序还支持更高级的调度配置。下面是一些示例:

  • 每五分钟执行一次任务:
schedule.every(5).minutes.do(job)
  • 每小时执行一次任务:
schedule.every().hour.do(job)
  • 每天早上 6 点执行一次任务:
schedule.every().day.at("06:00").do(job)
  • 每周一早上 6 点执行一次任务:
schedule.every().monday.at("06:00").do(job)
  • 每个月的第一天早上执行一次任务:
schedule.every().month.at("06:00").do(job)
4. 取消任务

如果要取消已经安排的任务,可以使用 schedule.cancel_job() 函数。例如,在上面的例子中,我们可以通过以下方式取消 print_hello() 函数的调度:

job = schedule.every(10).seconds.do(print_hello)
...
schedule.cancel_job(job)
5. 总结

Python 重复调度程序是一个非常有用的工具,可以自动化执行周期性任务。我们可以进行各种高级的调度配置,并可以根据需要取消已经安排的任务。