1

私の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
4

1 に答える 1

0

ブローカーへの接続に問題があるようです。ブローカーに接続できること、およびブローカーが稼働中であることを確認しましたか?

ブローカーには何を使用していますか?

于 2012-06-04T13:02:19.403 に答える