私はFCGIでPython Flask + nginxを使用しています。Python Flask + nginx fcgi - 大きなレスポンスを出力しますか?
リクエストによっては、大きな回答を出力する必要があります。通常、これらの応答はソケットから取得されます。現在、私は次のような応答をしています。
response = []
while True:
recv = s.recv(1024)
if not recv: break
response.append(recv)
s.close()
response = ''.join(response)
return flask.make_response(response, 200, {
'Content-type': 'binary/octet-stream',
'Content-length': len(response),
'Content-transfer-encoding': 'binary',
})
問題は実際には必要ありません。また、ソケットからフェッチする正確なレスポンス長を決定する方法もあります。だから私は、HTTPヘッダーを送信し、メモリから収集してnginxに(おそらく何らかの種類のストリームによって)供給するのではなく、ソケットから直接出力を開始する良い方法が必要です。
このような一般的な問題は解決できませんでした。どのように達成されるでしょうか?
ありがとうございました!