【发布时间】:2022-12-17 20:19:20
【问题描述】:
我有一个 Kubernetes 多节点系统,设置了 3 个三个节点。我正在使用 PyArango 在节点 2 上的 pod 与 Arango 部署之间创建连接,Arango 部署有两个协调器 pod,一个在节点 2 上,一个在节点 3 上。
我正在测试系统的弹性,我注意到一个问题。似乎如果我正在更新 Arango 上的集合并且我的程序(在节点 2 上运行)连接到节点 3 上的 Arango Coordinator pod 并且我关闭节点 3,连接不会超时,它只会保持原样长达20分钟。
如果连接空闲或 30 秒后没有响应,我希望连接超时。
我使用 PyArango 方法尝试了一些不同的东西,但没有成功。如何让 python 或 PyArango 在失效连接上尽快超时?
目前这是我的连接设置代码的 sn-p:
retry_policy = Retry(total=0, connect=0, read=0 ,
other=0, backoff_factor=0)
while conn == None:
try:
conn = Connection(arango_url, username, password,
max_retries=retry_policy)
conn.session.session.headers['Retry-After'] = '10'
conn.session.session.headers['Keep-Alive'] = 'timeout=5'
else:
conn = Connection(arangoURL=arango_url, max_retries=retry_policy)
conn.session.session.headers['Retry-After'] = '10'
conn.session.session.headers['Keep-Alive'] = 'timeout=5'
任何帮助都会很棒!
【问题讨论】:
标签: python kubernetes connection arangodb pyarango