Rails Herokuのアプリで、500個のエラーをランダムな間隔で処理しています。Webページには、通常の「申し訳ありません。何かが起こったのではなく、プレーンテキストで表示されます。間違っています。」ページ。ページを更新すると正常に動作します。
ログにエラーメッセージが表示されず、ただ
» 14:20:34.107 2013-10-11 12:20:33.763690+00:00 heroku router - - at=info method=HEAD path=/ Host=www.mydomain.com fwd="184.73.237.85/ec2-184-73-237-85.compute-1.amazonaws.com" dyno=web.1 connect=1ms service=63ms status=200 bytes=0
» 14:21:03.957 2013-10-11 12:21:03.561867+00:00 heroku router - - at=info method=GET path=/ Host=www.mydomain.com fwd="50.112.95.211/ec2-50-112-95-211.us-west-2.compute.amazonaws.com" dyno=web.1 connect=0ms service=1ms status=500 bytes=21
サポートからNew Relicでのリクエストのキューイングを確認するように言われましたが、New Relicはサーバーがダウンしていることを示す大きな赤いマークしか表示しません(サイトが更新されても正常に機能します)。
エラーメッセージが表示されないので、この問題を診断する方法がわかりません。
Herokuでは、 LogEntries でエラーを診断します。Herokuログよりもはるかに簡単にエラーを診断できます。
アプリをロードして、LogEntriesパネルで「Live(Beta)」に移動します。これは、表示されるエラーを示し、一般的に非常に説明的です
役立つかもしれないちょうど何か
Rails_12factor
gemを追加して、より堅牢なエラーログを取得してみてください(Herokuを使用している場合のみ)。
Heroku上のデータベースをrake db:migrate
_heroku run rake db:migrate
してください。
DjangoアプリをHerokuにデプロイするときに私のために働いたソリューションは、production.pyファイルに移動してコードを変更することですDEBUG = FALSE
〜DEBUG = TRUE
。このようにして、Djangoが表示するエラーを確認できるはずです。注意エラーを見つけて修正したら、この設定はFALSE
に戻します。