我的数据库是远程机器上的 SQL Server,我遇到了相当多的延迟。我在控制器中有一个方法,其结构如下:
def submitData():
parameters = db.site.select(...)
results = some_http_post() # posts data to remote server,
if results:
rec = db.status_table.insert(...)
rec.status_tabl.update(...)
往往会发生的情况是 some_http_post() 需要几秒钟才能获得响应,并且我的线程用完了当我用超过 6 个并发请求提交数据时点击 web2py 时,我遇到了请求冻结,而不是出现 DB 错误。这具有停止任何进一步的 web2py 请求的效果。
理想情况下,我希望在调用 some_http_post 之前关闭数据库连接并在它之后启动另一个数据库连接,但我没有看到使用 DAL API 执行此操作的简单方法。这是可能的还是我可以尝试更好的优化?