是的,sched
模块可以实现任务优先级
import sched
import time
def job(name, delay):
print(f"Starting job {name}")
time.sleep(delay)
print(f"Finished job {name}")
# 创建一个调度器实例
s = sched.scheduler(time.time, time.sleep)
# 添加任务,设置优先级为1(优先级越高,数值越小)
s.enter(10, 1, job, argument=("job1", 3))
# 添加任务,设置优先级为2
s.enter(20, 2, job, argument=("job2", 1))
# 添加任务,设置优先级为3
s.enter(30, 3, job, argument=("job3", 2))
# 开始运行调度器
s.run()
在这个例子中,我们创建了三个任务,它们的执行时间分别为3秒、1秒和2秒。通过设置不同的优先级(1、2和3),我们可以控制任务的执行顺序。优先级高的任务将先执行。