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

相关推荐
qq_342295827 小时前
如何备份大量小表组成的数据库_并行导出与多文件并发写入.txt
jvm·数据库·python
代码羊羊7 小时前
rust-字符串(切片)、元组、结构体、枚举、数组
开发语言·后端·rust
justjinji8 小时前
MySQL存储过程中如何防止SQL注入_使用参数化查询规范
jvm·数据库·python
qq_206901398 小时前
mysql索引排序规则设置方法_mysqlCollation对索引影响
jvm·数据库·python
HHHHH1010HHHHH8 小时前
如何快速重置SQL表中的自增ID_使用TRUNCATE与重置命令
jvm·数据库·python
m0_734949798 小时前
html怎么转konva舞台_Konva如何在HTML中创建2D绘图舞台
jvm·数据库·python
m0_716430078 小时前
如何在非受控输入中实时显示值(不依赖状态更新)
jvm·数据库·python
2201_761040598 小时前
如何统计SQL分组汇总数据_详解GROUP BY与HAVING用法
jvm·数据库·python
JavaGuide8 小时前
万字详解 RAG 向量索引算法和向量数据库
后端·面试