区分:
timer:可每5s执行一次,循环运行
sched:可设置5s后执行完成,定时运行
实例:
任务函数
def get_api_v1_room_users():
"XXXX"
print("~~~~" * 10)
每5秒执行一次任务函数
from threading import Timer
def loop_timer(func,second):
i = 0
while True:
timer = Timer(second,func)
timer.start()
timer.join()
i += 1
print("执行第" + str(i) + "次")
loop_timer(get_api_v1_room_users, 0)
5秒后执行任务函数
import sched
import time
def fun_timer():
schedule = sched.scheduler(time.time,time.sleep)
schedule.enter(5,0,get_api_v1_room_users)
schedule.run()
fun_timer()
说明:
sched顺序
-
生成调度器:schedule = sched.scheduler(time.time,time.sleep)
-
加入调度事件:schedule.enter(a,b,c,d)
-
四个参数分别为:事件间隔、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,被调函数需要的参数
-
运行调度器:schedule.run()