2

リクエストの処理中にユーザーが閉じている接続を検出して処理する方法はWeb.pyにありますか?

アンロードフックハンドラーを設定しようとしましたが、この場合は呼び出されません。リクエストが正常に完了した後にのみ呼び出されます。


class handler:
    def __init__(self):
        pass

    def GET(self):
        try:
            while(True):
                pass
        except Exception, e:
            logger.debug(e)

def unload():
    logger.debug('unloaded')

try:
    app = web.application(urls, globals())
    app.add_processor(web.unloadhook(unload))
    application = app.wsgifunc()

except Exception, e:
    logger.debug(e)

ブラウザでアプリを開き、whileループでアプリが回転し始めたら、リクエストを中断しますが、例外はスローされません。

4

2 に答える 2

1

タイムアウトを設定し、接続が閉じられた場合を具体的にカバーする例外タイプをキャッチします。

Pythonでの例外処理についてはこちらをご覧ください

于 2009-10-20T19:05:24.780 に答える
1

WebサーバーとWSGI自体の動作方法により、通常、信頼できる方法はありません。説明については、以下をお読みください。

http://groups.google.com/group/modwsgi/browse_frm/thread/8ebd9aca9d317ac9

于 2009-10-20T23:01:18.110 に答える