延迟执行
sched
模块是 Python 内置的一个简单调度器。
阻塞调用
后续的任务会在延迟任务执行后调用
示例 延迟5秒执行
1 | import sched |
这个例子中,首先创建了一个调度器对象,其中time.time
用于获取当前时间,time.sleep
用于暂停程序。
然后定义了一个print_time
函数,它将打印当前时间。接着使用scheduler.enter()
方法安排任务
- 第一个参数
10
表示 10 秒后执行任务 - 第二个参数
1
表示任务的优先级(数字越小优先级越高) - 第三个参数是要执行的任务函数。
最后通过scheduler.run()
运行调度器,等待任务执行。
不阻塞
1 | import sched |
间隔循环执行
添加依赖
1 | pip install apscheduler |
示例
1 | import time |
关闭调度器
1 | scheduler.shutdown() |
这里使用APScheduler
的BackgroundScheduler
类型创建一个调度器。
通过add_job()
方法添加任务,第一个参数job
是要执行的任务函数,第二个参数interval
表示任务执行的间隔类型(这里是按固定间隔),第三个参数seconds = 3
表示间隔时间为 3 秒。
默认会在一个独立的线程(非主线程)中执行任务(job
)。