如何为Python schedule包添加调度启动前执行的初始化函数?
在Python schedule包启动前执行初始化函数的简便实现方式
方法一:直接手动调用(最简便)
这是最直观的解决方案,不需要借助schedule的额外特性,在启动调度循环前直接调用你的初始化函数即可,完全满足“调度器启动前执行”的需求。
修改后的完整代码:
import schedule def init_func(): print("初始化完成,调度器即将启动") def call_me(): print("I am invoked") # 调度器启动前执行初始化操作 init_func() schedule.every(1).seconds.do(call_me) while True: schedule.run_pending()
这种方式的优势在于简单直接,没有多余的复杂度,适合绝大多数场景。
方法二:纳入schedule任务体系执行
如果希望初始化逻辑也归到schedule的任务管理中,可以将其设置为一次性任务,然后在启动循环前手动触发所有待执行任务:
import schedule def init_func(): print("初始化完成,调度器即将启动") def call_me(): print("I am invoked") # 添加初始化任务为一次性执行任务 schedule.every().once().do(init_func) # 添加定时重复任务 schedule.every(1).seconds.do(call_me) # 先执行所有待运行的任务(这里仅会执行初始化任务) schedule.run_all(run_delay=0) while True: schedule.run_pending()
这种方式适合后续可能需要调整初始化执行时机的场景,但对于基础的启动前执行需求,方法一足够高效。
内容的提问来源于stack exchange,提问作者stylepatrick
相关产品推荐
相关产品推荐

