我在 Bluemix/IBM Cloud 上有一个正在运行的 Python Cloud Foundry 应用程序,它可以连接到 Bluemix/IBM Cloud 上的 DB2 on Cloud 实例,并且运行良好。
但是,经过很长的时间间隔(我无法测量时间),与 DB2 的连接关闭,我的查询失败。我可以修改我的代码来检查这一点,但是能够调整TCP保持连接设置会很棒。类似的东西。
将非常感谢任何指示。我不确定如何调整Python Cloud Foundry应用程序上的客户端设置。
干杯。
我尝试使用Python Flask Cloud Foundry应用程序和Cloud Lite上的Db2计划实例重现它。 我的联系似乎持续了几个小时。可能是您正在运行的 python 应用程序具有某种超时。
我找不到令人满意的解决方案。就像@jackic23提到的,可能还有其他因素在起作用。几件事:
- 问题难以复制
- 该应用程序在本地主机上运行良好,但在部署时无法正常工作
- 我确实有其他同时发生的 CRUD 操作,这可能以某种方式发生冲突。可能存在不知何故永远不会在本地主机上发生的竞争条件。
- 我的 flask 应用程序是使用
gunicorn
部署的,它在 30 秒后终止了工作线程,因此数据库连接在查询中途终止。我将超时调整为 75 秒,但随后查询在 1 秒内开始返回。
此时,我已经切换到企业 DB2 计划,并且该应用程序运行良好。@jackic23的观点是,这里(在我的应用程序代码中)可能还有其他事情最终需要弄清楚。
现在,我继续前进。感谢您@jackic23对此进行调查!