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的扩展支持。

相关推荐
一位搞嵌入式的 genius几秒前
最悉心的指导教程——阿里云创建ECS实例教程+Vue+Django前后端的服务器部署(通过宝塔面板)
前端·后端·python·阿里云·宝塔页面
福大大架构师每日一题1 分钟前
2025-05-31:最小可整除数位乘积Ⅰ。用go语言,给定两个整数 n 和 t,要求找出不小于 n 的最小整数,使得这个整数各位数字的乘积能够被 t 整除。
后端
用户611847265421 分钟前
手把手教你用 Node.js + MongoDB 搭建 RESTful API 服务
后端
Victor3563 分钟前
MySQL(47)BLOB和TEXT的区别是什么?
后端
异常君11 分钟前
Java 调用 Python:五种实用方法全面对比与实战案例
java·python
蓝婷儿32 分钟前
6个月Python学习计划 Day 8 - Python 函数基础
开发语言·python·学习
劲爽小猴头44 分钟前
企业级Spring MVC高级主题与实用技术讲解
java·spring boot·后端·spring·mvc
l木本I1 小时前
GraphRAG: 解锁大模型对叙述性私有数据的检索能力
人工智能·python·机器学习·知识图谱
朱龙凯1 小时前
Tomcat 初探
后端
qwfy1 小时前
基于 Vue3 + Node.js + MongoDB 的卢克教育在线教育系统项目01
后端·全栈