【发布时间】:2022-10-19 21:52:39
【问题描述】:
有人可以解释一下当任何数据库达到最大连接数限制时我们如何处理这种情况。我们可以在等待状态下建立连接,直到任何现有连接自动释放。
import snowflake.connector as sf
import sqlalchemy.pool as pool
def get_conn():
conn = sf.connect(
user='username',
password='password',
account='snowflake-account-name',
warehouse='compute_wh',
database='customer_data'
)
return conn
mypool = pool.QueuePool(get_conn, max_overflow=10, pool_size=5)
a = mypool.connect()
a1 = mypool.connect()
a2 = mypool.connect()
a3 = mypool.connect()
a4 = mypool.connect()
a5 = mypool.connect()
a6 = mypool.connect()
a7 = mypool.connect()
a8 = mypool.connect()
a9 = mypool.connect()
a11 = mypool.connect()
a12 = mypool.connect()
a13 = mypool.connect()
a14 = mypool.connect()
a15 = mypool.connect()
直到 a14 我们将成功获得 10 个连接对象,但是 当我们取消注释并运行这个 a15.当池用尽时,我们会收到一个错误。如何处理这种情况??
如果我们需要以这样一种方式编写逻辑,我们甚至必须授予访问权限
尽管实例不断增加。帮助我如何发回连接
去游泳池??
【问题讨论】:
标签: python sqlalchemy snowflake-cloud-data-platform connection-pooling