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

相关推荐
iPadiPhone1 分钟前
Java NIO 核心原理解析、性能调优与大厂面试精要
java·后端·面试·nio
1941s3 分钟前
Google Agent Development Kit (ADK) 指南 第三章:核心概念与架构
人工智能·python·langchain·agent·adk
无名-CODING7 分钟前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(中):Spring Boot后端与Docker Compose串联
spring boot·后端·docker
chushiyunen9 分钟前
python日志logging、django日志等
python·django
丝斯201111 分钟前
AI学习笔记整理(74)——Python学习3
笔记·python·学习
雾隐潇湘11 分钟前
第三章 流程控制语句
开发语言·python
杰杰79812 分钟前
一文掌握Django模型——认识模型
数据库·python·django
add45a13 分钟前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
瓦哥架构实战16 分钟前
CentOS 7 编译安装 Python 3.9 解决 SSL 模块缺失问题
开发语言·python
python猿16 分钟前
打卡Python王者归来--第29天
python