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

相关推荐
知行合一。。。4 小时前
Python--04--数据容器(总结)
开发语言·python
架构师老Y4 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
lifewange4 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
GreenTea5 小时前
一文搞懂Harness Engineering与Meta-Harness
前端·人工智能·后端
pluvium275 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
2401_827499995 小时前
python项目实战09-AI智能伴侣(ai_partner_5-6)
开发语言·python
PD我是你的真爱粉5 小时前
MCP 协议详解:从架构、工作流到 Python 技术栈落地
开发语言·python·架构
ZhengEnCi5 小时前
P2G-Python字符串方法完全指南-split、join、strip、replace的Python编程利器
python
是小蟹呀^5 小时前
【总结】LangChain中工具的使用
python·langchain·agent·tool
宝贝儿好5 小时前
【LLM】第二章:文本表示:词袋模型、小案例:基于文本的推荐系统(酒店推荐)
人工智能·python·深度学习·神经网络·自然语言处理·机器人·语音识别