当前位置: 首页 > news >正文

sqlalchemy连接池满了报错

报错信息

sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r)

解决办法

参考:https://docs.sqlalchemy.org/en/20/core/pooling.html
在创建数据库engine时指定连接池pool_size及可接受的溢出max_overflow大小

engine = create_engine("postgresql+psycopg2://me@localhost/mydb", pool_size=20, max_overflow=0
)
  • pool_size:要维护的池的大小,默认为5。这是池中持久保留的最大连接数。请注意,池开始时没有连接;一旦请求了此数量的连接,该数量的连接将保持不变。pool_size可以设置为0以指示没有大小限制;若要禁用池,请改用NullPool
  • max_overflow:池的最大溢出大小。当连接数达到pool_size中设置的大小时,将返回不超过此限制的其他连接。当这些附加连接返回到池时,它们将断开连接并被丢弃。因此,池将允许的同时连接的总数是pool_size+max_overflow,并且池将允许“睡眠”连接的总数为pool_sizemax_overflow可以设置为-1表示没有溢出限制;对并发连接的总数没有限制。默认值为10
  • 其他参数timeout:连接等待超时时间
  • 其他参数use_lifo:检索连接时使用后进先出(LIFO),而不是FIFO(先进先出)。使用LIFO,服务器端超时方案可以减少非高峰使用期间使用的连接数量。在计划服务器端超时时,请确保使用回收或预ping策略来优雅地处理过时的连接。

注意事项

The QueuePool class is not compatible with asyncio. When using create_async_engine to create an instance of AsyncEngine, the AsyncAdaptedQueuePool class, which makes use of an asyncio-compatible queue implementation, is used instead.

翻译

sqlalchemy的连接池队列sqlalchemy.pool.QueuePool不兼容asyncio

相关文章:

  • 刷代码随想录有感(82):贪心算法——摆动序列
  • 【大数据篇】Spark:大数据处理的璀璨之星
  • 用Kotlin协程消灭安卓开发中的回调地狱
  • 【DrissionPage爬虫库 1】两种模式分别爬取Gitee开源项目
  • 《C++primer》第八章课后习题
  • 黑马聚合的分类及实现
  • 埃及媒体分发投放-新闻媒体通稿发布
  • [数据集][目标检测]红外车辆检测数据集VOC+YOLO格式13979张类别
  • K8s Pod 资源进阶
  • C++课程设计实验杭州电子科技大学ACM题目(上)
  • 跳绳技巧一:蝴蝶步
  • 【NumPy】NumPy线性代数模块详解:掌握numpy.linalg的核心功能
  • Vue 3入门指南
  • adb获取包名和界面名
  • Apifox 更新|编排模式、Markdown 编辑器升级、自动申请 SSL 证书、用户反馈问题优化
  • 【译】JS基础算法脚本:字符串结尾
  • 【译】理解JavaScript:new 关键字
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • angular2 简述
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Go 语言编译器的 //go: 详解
  • Java 最常见的 200+ 面试题:面试必备
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Theano - 导数
  • vue 配置sass、scss全局变量
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue-router的history模式发布配置
  • 从重复到重用
  • 计算机在识别图像时“看到”了什么?
  • 坑!为什么View.startAnimation不起作用?
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • #android不同版本废弃api,新api。
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $nextTick的使用场景介绍
  • (LLM) 很笨
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (ros//EnvironmentVariables)ros环境变量
  • (TOJ2804)Even? Odd?
  • (二)学习JVM —— 垃圾回收机制
  • (剑指Offer)面试题34:丑数
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net Application的目录
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET命名规范和开发约定
  • .net知识和学习方法系列(二十一)CLR-枚举
  • /bin/rm: 参数列表过长"的解决办法
  • @RequestBody的使用
  • [ NOI 2001 ] 食物链
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [C# 基础知识系列]专题十六:Linq介绍
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [C++]入门基础(1)
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件