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

相关推荐
吴佳浩3 小时前
大模型量化部署终极指南:让700亿参数的AI跑进你的显卡
人工智能·python·gpu
diegoXie4 小时前
Python / R 向量顺序分割与跨步分割
开发语言·python·r语言
七牛云行业应用4 小时前
解决OSError: No space left... 给DeepSeek Agent装上无限云硬盘
python·架构设计·七牛云·deepseek·agent开发
韩立学长4 小时前
基于Springboot流浪动物领养网站0kh2iyb4(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
BoBoZz195 小时前
CutWithScalars根据标量利用vtkContourFilter得到等值线
python·vtk·图形渲染·图形处理
Moment5 小时前
从美团全栈化看 AI 冲击:前端转全栈,是自救还是必然 🤔🤔🤔
前端·后端·面试
失散135 小时前
Python——1 概述
开发语言·python
萧鼎5 小时前
Python 图像哈希库 imagehash——从原理到实践
开发语言·python·哈希算法
qq_251533595 小时前
使用 Python 提取 MAC 地址
网络·python·macos
a努力。6 小时前
腾讯Java面试被问:String、StringBuffer、StringBuilder区别
java·开发语言·后端·面试·职场和发展·架构