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

相关推荐
Ulyanov3 分钟前
三维战场可视化核心原理(一):从坐标系到运动控制的全景指南
开发语言·前端·python·pyvista·gui开发
SNAKEpc1213810 分钟前
PyQtGraph应用(一):常用图表图形绘制
python·qt·pyqt
CSND74014 分钟前
anaconda 安装库,终端手动指定下载源
python
0思必得014 分钟前
[Web自动化] 爬虫基础
运维·爬虫·python·selenium·自动化·html
哪里不会点哪里.15 分钟前
如何自定义一个 Spring Boot Starter?
java·spring boot·后端
放飞自我的Coder16 分钟前
【Python 异步编程学习手册】
python
ycydynq17 分钟前
django 数据库 多表操作
数据库·python·django
m0_5494166617 分钟前
自动化与脚本
jvm·数据库·python
不吃香菜学java22 分钟前
springboot左脚踩右脚螺旋升天系列-入门程序
java·spring boot·后端
查无此人byebye24 分钟前
手写Multi-Head Attention多头注意力机制,Pytorch实现与原理详解
人工智能·pytorch·python·深度学习·transformer