私のdotcloudデプロイメントの1つでCeleryが失敗し、修正方法がわかりません。デプロイメントは、正常に機能しているように見える既存のdotcloudデプロイメント(ファイル差分を実行することで確認済み)とほぼ同じです。
djceleryログに表示されるエラー:
dotcloud @ hack-default-www-0:/var/log/supervisor $ more djcelery_error.log /home/dotcloud/env/lib/python2.6/site-packages/django/conf/__init__.py:75:廃止 cationWarning:ADMIN_MEDIA_PREFIX設定が削除されました。STATIC_URLiを使用します 代わりに。 「代わりにSTATIC_URLを使用してください。」、DeprecationWarning) /home/dotcloud/env/lib/python2.6/site-packages/djcelery/loaders.py:108:UserWarn ing:settings.DEBUGを使用するとメモリリークが発生します。この設定を製品で使用しないでください オークション環境! warnings.warn( "settings.DEBUGを使用すると、メモリリークが発生しますが、" [2012-06-04 03:27:32,139:警告/メインプロセス] -------------- celery @ hack-defaul t-www-0 v2.5.3 ---- **** ----- - - * *** * - [構成] --*-****---。ブローカー:amqp://root@hack-OQVADQ2K.dotcloud.com:29210// -**----------。ローダー:djcelery.loaders.DjangoLoader -**----------。ログファイル:[stderr] @INFO -**----------。並行性:2 -**----------。イベント:オン -*** ---*---。撃退する -******* ---- --- *****-----[キュー] --------------。セロリ:交換:セロリ(直接)バインディング:セロリ 【タスク】 。Experiments.tasks.pushMessageToIphone 。Experiments.tasks.sendTestMessage [2012-06-04 03:27:32,172:INFO / PoolWorker-1] self.run()を呼び出す子プロセス [2012-06-04 03:27:32,185:INFO / PoolWorker-2] self.run()を呼び出す子プロセス [2012-06-04 03:27:32,188:警告/メインプロセス] celery@hack-default-www-0にはstaがあります rted。 [2012-06-04 03:27:35,315:エラー/メインプロセス]コンシューマー:接続エラー:ソケット 閉まっている。2秒後に再試行しています... [2012-06-04 03:27:40,374:エラー/メインプロセス]コンシューマー:接続エラー:ソケット 閉まっている。4秒後に再試行しています... [2012-06-04 03:27:47,479:エラー/メインプロセス]コンシューマー:接続エラー:ソケット 閉まっている。6秒後に再試行しています... [2012-06-04 03:27:56,509:エラー/メインプロセス]コンシューマー:接続エラー:ソケット
興味深いことに、セロリカムのエラーログは少し異なるものを示しています。これが赤いニシンかどうかはわかりません。
/home/dotcloud/env/lib/python2.6/site-packages/django/conf/__init__.py:75:廃止
cationWarning:ADMIN_MEDIA_PREFIX設定が削除されました。STATIC_URLiを使用します
代わりに。
「代わりにSTATIC_URLを使用してください。」、DeprecationWarning)
[2012-06-04 03:27:31,373:INFO / MainProcess]-> evcam:djceでスナップショットを撮る
lery.snapshot.Camera(1.0秒ごと)
トレースバック(最後の最後の呼び出し):
ファイル"hack/ manage.py"、14行目
execute_manager(設定)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/django/core/management/__
init__。py"、行459、execute_manager
Utility.execute()
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/django/core/management/__
init__。py"、行382、実行中
self.fetch_command(subcommand).run_from_argv(self.argv)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/djcelery/management/base。
py "、74行目、run_from_argv
super(CeleryCommand、self).run_from_argv(argv)を返します
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/django/core/management/ba
se.py "、196行目、run_from_argv
self.execute(* args、** options .__ dict__)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/djcelery/management/base。
py」、67行目、実行中
super(CeleryCommand、self).execute(* args、** options)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/django/core/management/ba
se.py "、232行目、実行中
output = self.handle(* args、** options)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/djcelery/management/comma
nds / celerycam.py "、26行目、ハンドル内
ev.run(* args、** options)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/celery/bin/celeryev.py"、
38行目、実行中
デタッチ=デタッチ)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/celery/bin/celeryev.py"、
run_evcamの70行目
リターンカム()
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/celery/events/snapshot.py
"、116行目、evcam
recv.capture(limit = None)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/celery/events/__init__.py
"、204行目、キャプチャ中
list(self.itercapture(limit = limit、timeout = timeout、wakeup = wakeup))
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/celery/events/__init__.py
"、193行目、itercapture
self.consumer(wakeup = wakeup)をコンシューマーとして使用:
__enter__のファイル"/usr/lib/python2.6/contextlib.py"、16行目
self.gen.next()を返す
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/celery/events/__init__.py
"、185行目、消費者
queues = [self.queue]、no_ack = True)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/messaging.py"、行
279、__ init__
self.revive(self.channel)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/messaging.py"、行
286、復活
channel = channel.default_channel
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/connection.py"、lin
e 581、default_channel
self.connection
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/connection.py"、lin
e 574、関連して
self._connection = self._establish_connection()
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/connection.py"、lin
e 533、_establish_connection
conn = self.transport.establish_connection()
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/transport/amqplib.p
y "、279行目、establish_connection
connect_timeout = conninfo.connect_timeout)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/kombu/transport/amqplib.p
y "、89行目、__ init__
super(Connection、self).__ init __(* args、** kwargs)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/amqplib/client_0_8/connec
__init__の「tion.py」、144行目
(10、30)、#チューン
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/amqplib/client_0_8/abstra
ct_channel.py "、95行目、待機中
self.channel_id、allowed_methods)
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/amqplib/client_0_8/connec
_wait_methodの「tion.py」、202行目
self.method_reader.read_method()
ファイル"/home/dotcloud/env/lib/python2.6/site-packages/amqplib/client_0_8/method
_framing.py "、221行目、read_method
mを上げる
IOError:ソケットが閉じられました
私の監視対象ファイル:
[プログラム:djcelery] ディレクトリ=/home / dotcloud / current / コマンド=/home/dotcloud/env/bin/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 / コマンド=/home/dotcloud/env/bin/pythonhack / manage.py celerycam stderr_logfile = /var/log/supervisor/%(program_name)s_error.log stdout_logfile = /var/log/supervisor/%(program_name)s.log
前述のように、正常に機能している別のdotcloudアカウントでほぼ同じコードをデプロイしています。
rabbitmqブローカーのステータス:
$ ./dotcloud info hack.broker
エイリアス:
--hackxxxx.dotcloud.com
構成:
パスワード:xxxx
rabbitmq_management:true
ユーザー:root
created_at:1338702527.075196
データセンター:Amazon-us-east-1c
image_version:924a079b622a(最新)
メモリ:49M / 512M(9%)
ポート:
-名前:ssh
url:ssh://dotcloud@hackxxx.dotcloud.com:29209
-名前:amqp
url:amqp:// root:xxxx@hackxxxx.dotcloud.com:29210
-名前:http
url:http:// root:xxx@hack1-xxxx.dotcloud.com/
状態:実行中
タイプ:rabbitmq