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

相关推荐
刘晓飞5 分钟前
nestjs 中的 rxjs
后端
Red丶哞23 分钟前
内网自建Postfix使用Python发送邮件
开发语言·python
rebekk33 分钟前
pytorch custom op的简单介绍
人工智能·pytorch·python
chushiyunen38 分钟前
uv使用笔记(python包的管理工具)
笔记·python·uv
曲幽38 分钟前
FastAPI状态共享秘籍:别再让中间件、依赖和路由“各自为政”了!
python·fastapi·web·request·state·depends·middleware
风清扬【coder】42 分钟前
Anaconda 被误删后抢救手册:数据恢复 + 环境重建应急流程
python·数据恢复·anaconda·环境重建
2401_8845632443 分钟前
进阶技巧与底层原理
jvm·数据库·python
2401_8732046543 分钟前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
l1t1 小时前
DeepSeek 辅助编写python程序求解欧拉计划932题:2025数
开发语言·python·欧拉计划
编码忘我1 小时前
java策略模式实战之优惠券
java·后端