4

クライアントの要求に応じて大きなファイルをストリーミングする Python Web ワーカーがあります。30 秒後、接続は Heroku によって終了されます。私はweb.py新しい出力を使用して生成しています。Herokuのドキュメントによると:

Cedar は、ロング ポーリングやストリーミング レスポンスなどの HTTP 1.1 機能をサポートしています。アプリケーションには、クライアントに 1 バイトで応答するための最初の 30 秒のウィンドウがあります。ただし、その後送信される各バイト (クライアントから受信されるか、アプリケーションによって送信される) は、ローリング 55 秒ウィンドウをリセットします。55 秒間にデータが送信されない場合、接続は終了します。

55 秒ごとに 1 バイトをはるかに超えて送信していますが、接続はまだ終了しています。

これらは私が使用しているヘッダーです

web.header('Content-type' , 'application/zip')
web.header('Content-Disposition', 'attachment; filename="images.zip"')

私も追加しようとしました:

web.header('Transfer-Encoding','chunked')

私は何か間違ったことをしていますか?

4

1 に答える 1

4

問題は、不適切なgunicorn設定の結果だったようです。gunicronタイムアウトを延長すると、Procfileうまくいきました:

--timeout 300
于 2014-04-16T08:25:53.903 に答える