flask-apscheduler 定时任务被执行两次

定时任务没有被多次调用,事实上如果多次调用的话,flask-apscheduler会抛出异常。

但一开始任务还是按时执行一次,重启flask或者修改部分代码后,就发送定时任务一次执行两次了。

之所以会发生这种情况,是因为在debug模式下的Flask会生成一个子进程。

这样每当代码更改时,它就可以重新启动该进程,新的子进程会初始化并启动一个新的APScheduler,这就是为什么定时任务会执行两次的原因。

需要设置debug=False,或者设置use_reloader=Flase

python 复制代码
if __name__ == "__main__":
    app = create_app() 
    app.run(debug=False, ...)

目前在flask-apscheduler中还没有看到有效的解决方法。

个别方案是检测当前进程是否是子进程,如果是则不允许APScheduler启动。但这样增加了额外操作了复杂度。

要么就不用flask-apscheduler模块而改用其他没有与flask集成的模块,因为flask-apscheduler是flask对apscheduler的扩展支持。

相关推荐
极度的坦诚就是无坚不摧几秒前
数据分析DAY1-Python基础
python·数据分析
智码看视界5 分钟前
Day19 Spring Boot启动优化:启动时间从8秒降到2秒
java·spring boot·后端·启动优化
hongyucai15 分钟前
详解rlinf强化学习四步曲
人工智能·python·算法·架构
c_lb728815 分钟前
2026年下半年AI量化工具,阶段不同重点也不同
人工智能·python
IT_陈寒19 分钟前
React中useEffect的依赖项把我坑惨了
前端·人工智能·后端
Xpower 1733 分钟前
详细解释 Codex 最近一次功能更新,以及 GPT-5.6 Sol、Terra、Luna 的能力、价格、使用方式和适用场景。
人工智能·python·gpt·学习
SQL-First布道者37 分钟前
Spring JDBC Ultra 十边型战士
java·spring boot·后端·mysql·spring·mybatis
Dovis(誓平步青云)42 分钟前
《精讲Spring Boot后端跑另一个端口:如何解决暴露服务器问题》
服务器·人工智能·spring boot·后端·生成对抗网络
许彰午1 小时前
87_Python Django模型与数据库
数据库·python·django
程序员小远1 小时前
性能测试之性能调优
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试