Heroku Cedar dyno でFlask/Gunicorn Python アプリを実行しています。アプリはJSON responses
クライアントに戻ります (API server
実際には です)。
時々、クライアントは 0 バイトの応答を受け取ります。しかし、それらを返すのは私ではありません。ここに私のアプリのログのスニペットがあります:
3 月 14 日 13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app[web.1] [2013-03-14 13:13:31 UTC] 10.104.41.136 apisrv - api_get_credits_balance(): session_token=[MASKED ]
上記の最初の行は、私がリクエストの処理を開始したところです。
3 月 14 日 13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app[web.1] [2013-03-14 13:13:31 UTC] 10.104.41.136 apisrv 1252148511 api_get_credits_balance(): [{' を返すcredits_balance': 0}]
2行目は値を返しています(Flaskに-それはFlaskの「応答」オブジェクトです)。
3 月 14 日 13:13:31 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 app[web.1] "10.104.41.136 - - [14/Mar/2013:13:13:31] "POST /get_credits_balance?session_token= MASKED HTTP/1.1" 200 22 "-" "Appcelerator Titanium/3.0.0.GA (iPhone/6.1.2; iPhone OS; en_US;)"
3 行目は Gnicorn のもので、Gunicorn が 200 ステータスと 22 バイトの HTTP 本文 (" 200 22
") を取得したことがわかります。
ただし、クライアントは 0 バイトを取得しました。Heroku ルーターのログは次のとおりです。
3 月 14 日 13:13:30 d.0b1adf0a-0597-4f5c-8901-dfe7cda9bce0 heroku[router] at=info method=POST path=/get_credits_balance?session_token=MASKED host=matchspot-apisrv.herokuapp.com fwd="66.87. 116.128" dyno=web.1 キュー=0 待機=0ms 接続=1ms サービス=19ms ステータス=200 バイト=0
Gunicorn は 22 バイトを返すのに、Heroku は 0 を認識し、実際にクライアントに 0 バイトを返すのはなぜですか? これは Heroku のバグですか?