Python中APScheduler定时任务如何运作及具体案例剖析?

2026-05-25 01:460阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1333个文字,预计阅读时间需要6分钟。

Python中APScheduler定时任务如何运作及具体案例剖析?

定时任务:使用线程睡眠函数sleep()——粗暴!直接占用CPU资源,导致后续操作无法执行。使用threading.Timer()代替:threading.Timer(10, task, ()).start()

定时任务:

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 分别是函数的位置和关键字参数。
阅读全文

本文共计1333个文字,预计阅读时间需要6分钟。

Python中APScheduler定时任务如何运作及具体案例剖析?

定时任务:使用线程睡眠函数sleep()——粗暴!直接占用CPU资源,导致后续操作无法执行。使用threading.Timer()代替:threading.Timer(10, task, ()).start()

定时任务:

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 分别是函数的位置和关键字参数。
阅读全文