详解Python定时任务APScheduler
小编这次要给大家分享的是详解Python定时任务APScheduler,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
定时任务:
1、 线程睡眠函数 sleep() ——粗暴!一直占有 CPU 资源,导致后续操作无法执行
2、 threading.Timer(10, task, ()).start() # (间隔s,任务task, 函参)
3、 import sched
# 初始化 sched 模块的 scheduler 类scheduler = sched.scheduler(time.time, time.sleep)# 增加调度任务 enter(delay, priority, action, argument=(), kwargs={})scheduler.enter(10, 1, task) # 运行任务scheduler.run()
scheduler 中的每个调度任务只会工作一次,不会无限循环被调用。如果想重复执行同一任务, 需要重复添加调度任务即可。
enter(delay, priority, action, argument=(), kwargs={}) 间隔执行任务。delay单位是秒。priority越小优先级越大。两个任务指定相同的延迟时间,优先级大的任务会向被执行。action 即需要执行的函数,argument 和 kwargs 分别是函数的位置和关键字参数。scheduler.enterabs(time, priority, action, argument=(), kwargs={}) 时间点执行任务。因此,time是绝对时间.其他参数用法与 enter() 中的参数用法是一致。APScheduler——Advanced Python Scheduler。
一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux下Crontab 命令。同时,它还支持异步执行、后台执行调度任务。
import datetimeimport timefrom apscheduler.schedulers.background import BackgroundSchedulerdef timedTask(): print(datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S.%f")[:-3])if __name__ == '__main__': # 1.创建后台执行的 schedulers scheduler = BackgroundScheduler() # 2.添加调度任务,调度方法为 timedTask,触发器选择 interval(间隔性),间隔时长为 2 秒 job = scheduler.add_job(timedTask, 'interval', seconds=2) # 3.启动调度任务 scheduler.start() while True: print(time.time()) time.sleep(5)
基础组件
看完这篇关于详解Python定时任务APScheduler的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。