Nginx+Unicornが(スタックトレースの代わりに)例外で504タイムアウトを返すのはなぜですか?
-
28-10-2019 - |
質問
特定のシナリオでは、コードにエラーがある場合(通常は部分的に誤った変数がありますが、他の何かである可能性があります)、nginxから504タイムアウトを取得します。 予想されるスタックトレースの代わりに (の上 発達 環境)。
また、スペックは同じエラーで停止しているようです(「失敗」を即座に報告する代わりに)。
私が何を調べるべきか、または私のセットアップで何が間違っているのかについてのアイデアは役に立ちます。
Ruby on Rails 3.1を使用しています。
解決
任意の種類の例外キャッチまたは例外通知を使用していますか?それはあなたのコード、あなたが参照するライブラリ、またはあなたが参照する宝石にあるかもしれません。
もしそうなら、それを無効にし(コメントアウトするなど)、あなたが何を得るかを見てください。
走っている場合 production
, 、 切り替える development
できれば。
このトラブルシューティングの方法について多くの人が眉をひそめていますが、私が時々する他のことの1つは、ステータスファイルに追加された行(形式で私のコードを貼ること)です。 <DATE> <TIME> - <MESSAGE>
. 。各リクエストの後にファイルに書かれているものを見ることで、問題がどこにあるかを見つけることができます。
あなたはこれをすることができます:
def debug(filename, message)
File.open(filename, 'a') {|f| f.write("#{Time.now} - #{message}") }
end
電話 debug('/tmp/log.txt','Test Message')
このようなものを示す:
2011-12-29 23:31:51 -0500 - Test Message
所属していません StackOverflow