Loading... # 使用schedule库 ## 安装 ```shell pip install schedule ``` ## 使用 ```python import schedule import time def job(): print("定时任务执行") # 每隔5分钟执行一次任务 schedule.every(5).minutes.do(job) while True: schedule.run_pending() time.sleep(1) ``` ## 案例 ```python import schedule import time def job(): print("每隔10秒执行一次任务") # 每秒运行一次 schedule.every().seconds # 每隔10秒执行一次任务 schedule.every(10).seconds.do(job) # 每1-5秒运行一次 schedule.every(1).to(5).seconds # 每分钟的 17 秒时间点运行 job 函数 schedule.every().minute.at(":17").do(job) # 每隔5分钟执行一次任务 schedule.every(5).minutes.do(job) # 每隔1小时执行一次任务 schedule.every(1).hour.do(job) # 每天在 10:00 时间点运行 job 函数 schedule.every().day.at("10:00").do(job) # 每周凌晨运行一次 schedule.every().week # 每周三凌晨运行一次 schedule.every().wednesday.at("00:00") # 每周一的上午10点执行一次任务 schedule.every().monday.at("10:00").do(job) # 每个月的第一天上午9点执行一次任务 schedule.every().month.at("09:00").do(job) while True: schedule.run_pending() time.sleep(1) ``` ## at一些技巧 ```sh at(HH:MM:SS) at("00:00") 凌晨一点 every().hour.at(':30') 每小时30分 every().minute.at(':30') 没分钟30秒 ``` ## 实例 ```python def job(): print("我正在执行任务!") # 设定每天早上8点执行任务 schedule.every().day.at("08:00").do(job) while True: try: schedule.run_pending() # 运行所有可以运行的任务 time.sleep(1) except Exception as e: time.sleep(1) print(e) ``` 三、取消任务和取消指定任务 ## 取消任务 ```sh schedule.clear() ``` ## 取消指定任务 ```sh #需要引入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的任务 ``` 最后修改:2023 年 09 月 11 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏