0

URL から変数を取得する唯一の方法は、

def application(environ, start_response):

ただし、mysql コードはこの行の上に配置する必要があります。

既知のオプションは何ですか?

追加情報

mysql コードを

def application(environ, start_response):

これは、8 回の更新後に WSGI が 8 プロセスの制限に達するため、実用的なモデルではありません。したがって、アプリケーションは使用できなくなります。

そのため、WSGI の制限に干渉しないように、mysql クエリはこの行より上にある必要があります。

4

1 に答える 1

1

わかりました、これは以前の(削除された)質問に対する一種の回答なので、少し「ごまかし」ていますが、私がすでに回答したのと同じことを尋ねています。

あなたのコードはこの疑似コードのようなものでした。

connection = mysql_connect()

def application(environ, start_response):
    <do some work>
    connection.close()

これは、ファイルがロードされたときに接続を 1 回開いていることを意味しますが、関数が 1 回実行されると、接続は閉じられ、関数が再度呼び出されたときに再度開かれることはありません。関数が 2 回目に呼び出されたときの作業は閉じた接続で行われるため、WSGI はエラーを返します。WSGI が 8 つのプロセスを通過すると、すべてのプロセスが接続を閉じているため、WSGI は機能しなくなります。

代わりにこのようにすると;

def application(environ, start_response):   
    connection = mysql_connect()
    <do some work>
    connection.close()

...メソッドを呼び出すたびに新しい接続が開かれ、完了したら閉じられ、WSGI は問題なく動作し続けます。

于 2013-05-17T15:56:59.430 に答える