从 URL 中获取变量的唯一方法是通过
def application(environ, start_response):
但是mysql代码必须放在这一行的顶部。
有哪些已知选项?
额外信息
虽然看起来可以将 mysql 代码放在
def application(environ, start_response):这不是一个工作模型,因为在 8 次刷新后 WSGI 达到了 8 个进程的限制。因此应用程序变得无法使用。
因此 mysql 查询必须高于此行,以免干扰 WSGI 的限制。
从 URL 中获取变量的唯一方法是通过
def application(environ, start_response):
但是mysql代码必须放在这一行的顶部。
有哪些已知选项?
额外信息
虽然看起来可以将 mysql 代码放在
def application(environ, start_response):这不是一个工作模型,因为在 8 次刷新后 WSGI 达到了 8 个进程的限制。因此应用程序变得无法使用。
因此 mysql 查询必须高于此行,以免干扰 WSGI 的限制。
好的,这是对您先前(已删除)问题的回答,因此有点“作弊”,但是您问的问题与我已经在那里回答的问题相同;
您的代码类似于此伪代码;
connection = mysql_connect()
def application(environ, start_response):
<do some work>
connection.close()
这意味着您在加载文件时打开连接一次,但是一旦函数运行一次,连接就会关闭,并且在再次调用函数时永远不会再次打开。由于第二次调用该函数时的工作是在关闭的连接上完成的,因此您的 WSGI 将返回错误。一旦 WSGI 完成了 8 个进程,它就不再工作了,因为所有进程都关闭了它们的连接。
如果你改为这样做;
def application(environ, start_response):
connection = mysql_connect()
<do some work>
connection.close()
...每次调用该方法都会打开一个新连接并在完成后关闭它,您的 WSGI 将愉快地继续工作。