APScheduler添加多个同触发时间同函数任务会执行多少次?
结论:test_func最终会运行3次
原因说明
你提到的默认单实例限制规则,作用范围是同一个已添加的job任务,而非job绑定的执行函数本身:
- 示例代码中连续3次调用
scheduler.add_job()会生成3个完全独立的job实例,三个job之间的调度规则互不干扰,哪怕触发时间、绑定的执行函数完全一致,也会分别触发执行。 - 只有当同一个job到了下一次触发时间、但上一次该job的运行还未结束时,才会触发单实例限制,本次触发被判定为misfire。比如你给一个间隔1秒的interval类型job绑定执行函数,如果该函数单次执行要3秒,才会出现后续触发被misfire的情况。
内容的提问来源于stack exchange,提问作者Andrej
相关产品推荐
相关产品推荐

