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

相关推荐
小小张说故事11 小时前
Python logging 日志不输出?根源在 propagate 这条链上
后端·python
ZealSinger11 小时前
Go slog生产落地LevelVar与共存
开发语言·后端·golang·go
喜欢打篮球的普通人11 小时前
MiniMind 学习笔记(十):优化器、学习率和数据设置——训练稳定性的三块基石
笔记·python·学习
醇氧11 小时前
uvicorn 详细介绍
linux·运维·python·python3.11
丹宇码农12 小时前
Go 与 Python 协程(Coroutine)对比演示项目
开发语言·python·golang
w***488212 小时前
SpringBoot整合easy-es
spring boot·后端·elasticsearch
codists12 小时前
lexeme和token
python
dpharness12 小时前
踩完 dsh-ads 的四个坑,我说说虚构排名该怎么看
后端
预知同行12 小时前
深入解析 AI 应用可观测性:OpenTelemetry GenAI 规范下的调用链追踪与 Token 成本治理
后端·架构
天赐范式12 小时前
天赐范式第182天:让变异开始存活——主线重启与变异存续条件
python·ar模型·数字生命·天赐范式·动态运行时·稳态方差·变异存续