第 12 篇 Dify 入坑记录:database插件连接未关闭

文章目录

背景

Dify 1.7.1 社区版中需要使用数据库插件,执行相关的数据库查询操作。使用的插件如下:database 0.0.6

😱 存在的问题 :执行 SQL 后,数据库连接没有关闭,在生产上甚至提示连接处于 in transaction 状态中,导致其它事务卡住。

排查

database 中找到插件的 GitHub 地址:https://github.com/hjlarry/dify-plugin-database

有几个类似的 GitHub issue:

1、https://github.com/hjlarry/dify-plugin-database/issues/44

提到添加 {"pool_recycle":60} 可以缓解问题。查了下 pool_recycle 的参数定义:Engine Configuration --- SQLAlchemy 2.0 Documentation

可以理解为,**这个设置在指定秒数后会回收掉连接。**默认值为-1,表示永远不会回收。例如,设置为 3600,则表示连接将在一小时后回收。如果设置为 60,则表示 60 秒后会回收掉这个连接。


2、https://github.com/hjlarry/dify-plugin-database/issues/107

从代码上看,有点 bug,所以还没有啥解决办法。有的人甚至已经自己弄了 http 请求来执行 SQL。

解决

由于加上 {"pool_recycle":60} 配置只能缓解,不能根治。故考虑更换数据库插件,改为 Database Query

更换后, 不存在数据库连接未关闭的问题了。😁

参考

1.database

2.Database Query

3.https://github.com/hjlarry/dify-plugin-database/issues/44

4.https://github.com/hjlarry/dify-plugin-database/issues/107

相关博文

1.第 1 篇 Linux 下部署 Dify 1.7.1

2.第 2 篇 Dify 插件离线安装

3.第 3 篇 Dify 入门示例 - 聊天助手

4.第 4 篇 Dify 示例:数据库执行Agent

5.第 5 篇 Dify 报错解决:The length of output variable xxx must be less than 30 elements

6.第 6 篇 Dify 接入大模型并使用

7.第 7 篇 Dify 应用介绍 + 聊天助手&Agent 应用关键点说明

8.第 8 篇 RAG 必知概念及原理详解

9.第 9 篇 Dify 知识库原理详解

10.第 10 篇 Dify 知识库手把手案例

11.第 11 篇 Dify 入坑记录:插件安装报错,[ERROR]init environment failed_ failed to install dependencies

12.第 12 篇 Dify 入坑记录:database插件连接未关闭

相关推荐
岳麓丹枫0018 分钟前
PostgreSQL 中 pg_wal 目录里的 .ready .done .history 文件的生命周期
数据库·postgresql
Coder_Boy_11 分钟前
技术发展的核心规律是「加法打底,减法优化,重构平衡」
人工智能·spring boot·spring·重构
会飞的老朱2 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º4 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
寻星探路4 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
Codebee6 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
陌上丨6 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
聆风吟º6 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys7 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56787 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws