2012-01-10 11 views
1

私はherokuで私のdjangoアプリでgunicornを使用しようとしています。私はここの指示に従った:http://devcenter.heroku.com/articles/django#using_a_different_wsgi_server。ログはそれを示しているので、ガンコーンが走っているようです。しかし、私は私のログファイルでは理解できないエラーメッセージを見るのが好きではなく、ログを見直している間に "Error R12(Exit timeout) - >プロセスがSIGTERMから10秒以内に終了できませんでしたSIGKILLでプロセスを停止します。私のアプリは予期されたURLでうまく動作しているようですので、これは緊急ではありませんが、何が起こっているのか不思議です。ありがとう。私はherokuのgunicornでdjangoアプリを実行しています。 herokuログファイルのこのエラーはどういう意味ですか?

2012-01-10T20:56:36+00:00 heroku[web.1]: State changed from up to bouncing 
2012-01-10T20:56:36+00:00 heroku[web.1]: State changed from bouncing to created 
2012-01-10T20:56:36+00:00 heroku[web.1]: State changed from created to starting 
2012-01-10T20:56:39+00:00 heroku[web.1]: Stopping process with SIGTERM 
2012-01-10T20:56:39+00:00 heroku[web.1]: Starting process with command `python blossom/manage.py run_gunicorn -b "0.0.0.0:27470" -w 3` 
2012-01-10T20:56:40+00:00 app[web.1]: Validating models... 
2012-01-10T20:56:40+00:00 app[web.1]: Django version 1.3.1, using settings 'blossom.settings' 
2012-01-10T20:56:40+00:00 app[web.1]: 
2012-01-10T20:56:40+00:00 app[web.1]: Server is running 
2012-01-10T20:56:40+00:00 app[web.1]: 0 errors found 
2012-01-10T20:56:40+00:00 app[web.1]: Quit the server with CONTROL-C. 
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [3] [INFO] Starting gunicorn 0.13.4 
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [3] [INFO] Listening at: http://0.0.0.0:27470 (3) 
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [3] [INFO] Using worker: sync 
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [6] [INFO] Booting worker with pid: 6 
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [7] [INFO] Booting worker with pid: 7 
2012-01-10T20:56:40+00:00 app[web.1]: 2012-01-10 15:56:40 [8] [INFO] Booting worker with pid: 8 
2012-01-10T20:56:41+00:00 heroku[web.1]: State changed from starting to up 
2012-01-10T20:56:48+00:00 heroku[web.1]: Error R12 (Exit timeout) -> Process failed to exit within 10 seconds of SIGTERM 
2012-01-10T20:56:48+00:00 heroku[web.1]: Stopping process with SIGKILL 
2012-01-10T20:56:50+00:00 heroku[web.1]: Process exited 

答えて

3

基本的にはスズのことです。 Herokuスタックでは、プロセスは常にSIGTERMで終了します。これはプロセスを正常にシャットダウンするように指示し、10秒間実行します。

これが10秒以内に終了しなければ、R12エラーとSIGKILLが発生します。これは基本的にはkillです。ログが戻って十分行っていないが、あなたはSIGTERMは午後08時56分39秒

+0

通常のプロセスのシャットダウンでは、Herokuはサーバープロセス全体を終了し、要求が30秒以上かかると再起動します。 –

+2

が正しくありません。 dynoプロセスが30秒以上かかる場合、ルーティングメッシュはエラーを返しますが、dynoには触れません。 Cedarスタックを使用すると、その30秒のウィンドウで1バイトだけを返す必要があり、ルーティングメッシュは55秒のローリングウィンドウを要求し続ける(したがって、ストリーミング接続を許可します) –

+0

Craigは、私はそれについて尋ねていた。 :-) –

0

で起こって見ることができるように

今は、これはここで起こっている理由は、十分なログがありません完全に明確ではありませんあなたの問題を確実に示す(エラーR12は数多くのことを意味する)。そしてレコードのために、私はGunicornを実行していません。つまり、私はこれに似た問題を抱えていました。

cedar-stackは、プロジェクトの他の場所にそのアプリケーション用のモジュールがない場合は、settings.pyのINSTALLED_APPSセクションにあるアプリケーションを言及したくないことがわかります。

私は通常、views.pyでコードを作成する前にINSTALLED_APPSに自分のアプリをコーディングしています。ローカルのDJANGOサーバーは不平を言っていないので、私はそれに慣れています。残念ながら、それはそのシダースタックを壊す。

私は、プロジェクト内の他の場所にモジュールを持たず、新しいバージョンをプッシュしたアプリをコメントアウトしたところ、すぐにもう一度作業を開始しました。

関連する問題