私のdotcloudセットアップ(rabbitmqを使用したdjango-celery)は、1週間前は正常に機能していました。プロセスは正常に起動し、ログはクリーンでした。ただし、最近(コードを更新せずに)再プッシュしたところ、ログには、プロセスが実行されているように見えても、プロセスの開始に失敗したことが示されています。
監視対象ログ
dotcloud @ hack-default-www-0:/ var / log/supervisor$よりsupervisord.log 2012-06-03 10:51:51,836CRITuidをユーザー1000に設定します 2012-06-03 10:51:51,836警告追加ファイル"/etc/supervisor/conf.d/uwsgi.cが含まれています 解析中のonf" 2012-06-03 10:51:51,836警告追加ファイル "/ home / dotcloud / current/superviが含まれています 解析中のsord.conf」 2012-06-03 10:51:51,938INFORPCインターフェイス'スーパーバイザー'が初期化されました 2012-06-03 10:51:51,938警告cElementTreeがインストールされていません。低速のXMLパーサーを使用しています XML-RPCの場合 2012-06-03 10:51:51,938HTTPなしで実行されているCRITサーバー'unix_http_server' 認証チェック 2012-06-03 10:51:51,946監視対象プロセスをデーモン化するINFO 2012-06-03 10:51:51,947INFO監視対象がpid144で開始しました 2012-06-03 10:51:53,128 INFOが生成されました:'celerycam' with pid 159 2012-06-03 10:51:53,133 INFOが生成されました:'apnsd' with pid 161 2012-06-03 10:51:53,148 INFOが生成されました:'djcelery' with pid 164 2012-06-03 10:51:53,168 INFOが生成されました:'uwsgi' with pid 167 2012-06-03 10:51:53,245 INFO exited:djcelery(終了ステータス1;予期されていません) 2012-06-03 10:51:53,247情報が終了しました:celerycam(終了ステータス1;予期されていません) 2012-06-03 10:51:54,698情報が生成されました:「celerycam」とpid 176 2012-06-03 10:51:54,698情報の成功:apnsdがRUNNING状態になり、プロセスにsがあります 1秒以上起きた(startsecs) 2012-06-03 10:51:54,705 INFOが生成されました:'djcelery' with pid 177 2012-06-03 10:51:54,706情報の成功:uwsgiがRUNNING状態になり、プロセスにsがあります 1秒以上起きた(startsecs) 2012-06-03 10:51:54,731情報が終了しました:djcelery(終了ステータス1;予期されていません) 2012-06-03 10:51:54,754情報が終了しました:celerycam(終了ステータス1;予期されていません) 2012-06-03 10:51:56,760 INFOが生成されました:'celerycam' with pid 178 2012-06-03 10:51:56,765 INFOが生成されました:'djcelery' with pid 179 2012-06-03 10:51:56,790情報が終了しました:celerycam(終了ステータス1;予期されていません) 2012-06-03 10:51:56,791情報が終了しました:djcelery(終了ステータス1;予期されていません) 2012-06-03 10:51:59,798 INFOが生成されました:'celerycam' with pid 180 2012-06-03 10:52:00,538 INFOが生成されました:'djcelery' with pid 181 2012-06-03 10:52:00,565 INFOが終了しました:celerycam(終了ステータス1;予期されていません) 2012-06-03 10:52:00,571情報はあきらめました:celerycamは致命的な状態になりました、あまりにも多くのst アートの再試行が速すぎる 2012-06-03 10:52:00,573 INFO exited:djcelery(終了ステータス1;予期されていません) 2012-06-03 10:52:01,575情報はあきらめました:djceleryは致命的な状態になりました、あまりにも多くのsta rtの再試行が速すぎます dotcloud @ hack-default-www-0:/ var / log /supervisor $
djerrorログ:
dotcloud @ hack-default-www-0:/var/log/supervisor $ more djcelery_error.log トレースバック(最後の最後の呼び出し): ファイル"hack/ manage.py"、2行目、 django.core.managementからインポートexecute_manager ImportError:django.core.managementという名前のモジュールがありません トレースバック(最後の最後の呼び出し): ファイル"hack/ manage.py"、2行目、 django.core.managementからインポートexecute_manager ImportError:django.core.managementという名前のモジュールがありません トレースバック(最後の最後の呼び出し): ファイル"hack/ manage.py"、2行目、 django.core.managementからインポートexecute_manager ImportError:django.core.managementという名前のモジュールがありません トレースバック(最後の最後の呼び出し): ファイル"hack/ manage.py"、2行目、 django.core.managementからインポートexecute_manager ImportError:django.core.managementという名前のモジュールがありません dotcloud @ hack-default-www-0:/ var / log /supervisor $
statusctrlは、一部のプロセスが実行されていることを示していますが、pidは異なります。また、セロリ機能は問題なく機能しているようです。メッセージが処理され、django管理インターフェースで処理されているメッセージを確認できます(dj celery camが実行されています)。
#supervisorctl status apnsd RUNNING pid 225、稼働時間0:00:44 celerycam RUNNING pid 224、稼働時間0:00:44 djcelery RUNNING pid 226、稼働時間0:00:44
Supervisord.confファイル:
[プログラム:djcelery] ディレクトリ=/home / dotcloud / current / コマンド=pythonhack / manage.py celeryd -E -l info -c 2 stderr_logfile = /var/log/supervisor/%(program_name)s_error.log stdout_logfile = /var/log/supervisor/%(program_name)s.log [プログラム:celerycam] ディレクトリ=/home / dotcloud / current / コマンド=pythonhack / manage.py celerycam stderr_logfile = /var/log/supervisor/%(program_name)s_error.log stdout_logfile = /var/log/supervisor/%(program_name)s.log
http://jefurii.cafejosti.net/blog/2011/01/26/celery-in-virtualenv-with-supervisord/は、使用されているPythonが正しくないことが問題である可能性があると述べているため、Pythonを明示的に指定しました監視対象ファイル内。現在は機能していますが、上記の内容と、先週正常に機能していたときに構成を変更しなければならなかった理由については説明されていません。
また、すべてのpidが並んでいるわけではありません。
2012-06-03 11:19:03,045CRITサーバー'unix_http_server'がHTTPなしで実行されています 認証チェック 2012-06-03 11:19:03,051監視対象プロセスをデーモン化するINFO 2012-06-03 11:19:03,052INFO監視対象がpid144で開始しました 2012-06-03 11:19:04,061 INFOが生成されました:'celerycam' with pid 151 2012-06-03 11:19:04,066 INFOが生成されました:'apnsd' with pid 153 2012-06-03 11:19:04,085 INFOが生成されました:'djcelery' with pid 155 2012-06-03 11:19:04,104 INFOが生成されました:'uwsgi' with pid 156 2012-06-03 11:19:05,271情報の成功:celerycamがRUNNING状態になり、プロセスh 1秒以上起きたまま(startsecs) 2012-06-03 11:19:05,271情報の成功:apnsdがRUNNING状態になり、プロセスにsがあります 1秒以上起きた(startsecs) 2012-06-03 11:19:05,271情報の成功:djceleryがRUNNING状態になり、プロセスha sが1秒を超えて稼働し続けた(startsecs) 2012-06-03 11:19:05,271情報の成功:uwsgiがRUNNING状態になり、プロセスにsがあります 1秒以上起きた(startsecs)
ステータスは、セロリカムのpidが並んでいないことを示しています。
#supervisorctl status apnsd RUNNING pid 153、稼働時間0:06:17 celerycam RUNNING pid 150、稼働時間0:06:17 djcelery RUNNING pid 155、稼働時間0:06:17