1

ロングポーリングリクエストを処理するためにgeventを使用しています。これらのリクエストは、AsyncResultの.getメソッドが返されるまで待機します。次に、結果を長いポーリングクライアントに送り返します。

問題は、AsyncResultが起動する前にクライアント接続がタイムアウトすることがあることです。これが発生した場合、最終的に応答を返送しようとすると例外が発生します。接続がアクティブでなくなったため、これは理にかなっています。また、接続が開いていない場合にクリーンに停止する必要があるAsyncResultオブジェクトがあります。

私はpywsgiを使用して、ロングポーリングの残りの要求を処理しています。pywsgiハンドラー内で接続が閉じたことを検出する方法はありますが、イベントとして、グリーンレットがAsyncResultをブロックするためです。

どんな助けでも大歓迎です。ありがとう

4

0 に答える 0