Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在web2py请求周期中关闭和重新启动数据库连接_Python_Web2py - Fatal编程技术网

Python 在web2py请求周期中关闭和重新启动数据库连接

Python 在web2py请求周期中关闭和重新启动数据库连接,python,web2py,Python,Web2py,我的数据库是远程机器上的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_t

我的数据库是远程机器上的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(...)
通常会发生的情况是,一些\u http\u post()需要几秒钟才能得到响应,而我的线程就用完了 当我访问web2py时,有6个以上的并发提交数据请求,我遇到的是请求冻结,而不是数据库错误。 这会停止任何进一步的web2py请求


理想情况下,我希望在调用某个\uHTTP\uPOST之前关闭db连接,然后再启动另一个db连接,但我看不到使用DALAPI实现这一点的简单方法。这是可能的还是我可以尝试更好的优化?

尝试启用连接池:

默认情况下启用连接池

如果将“pool_size=0”添加到连接字符串中,则会禁用连接池,并且我假设该行为会强制打开/关闭每个连接,而不是让它们保持打开状态

如果你需要更多的线程(听起来像),增加你的池大小,看看会发生什么

或者,是的,您可以使用DAL并执行db.close()操作,然后在第一次请求时自动重新打开连接