1

Celery 在我的一个 dotcloud 部署中失败了,我不知道如何修复。该部署几乎与现有的 dotcloud 部署(通过执行文件差异验证)相同,似乎工作正常。

我在 djcelery 日志中得到的错误:

dotcloud@hack-default-www-0:/var/log/supervisor$ 更多 djcelery_error.log
/home/dotcloud/env/lib/python2.6/site-packages/django/conf/__init__.py:75:Depre
阳离子警告:已删除 ADMIN_MEDIA_PREFIX 设置;使用 STATIC_URL 我
相反。
  “改用 STATIC_URL。”,弃用警告)
/home/dotcloud/env/lib/python2.6/site-packages/djcelery/loaders.py:108:用户警告
ing:使用 settings.DEBUG 会导致内存泄漏,切勿在 prod 中使用此设置
拍卖环境!
  warnings.warn("使用 settings.DEBUG 会导致内存泄漏,永远不要"
[2012-06-04 03:27:32,139: 警告/MainProcess] -------------- 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
  . 实验.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: 警告/MainProcess] celery@hack-default-www-0 有 sta
rt。
[2012-06-04 03:27:35,315:错误/MainProcess] 消费者:连接错误:套接字
关闭。2 秒后重试...
[2012-06-04 03:27:40,374:错误/MainProcess] 消费者:连接错误:套接字
关闭。4 秒后重试...
[2012-06-04 03:27:47,479:错误/MainProcess] 消费者:连接错误:套接字
关闭。请在 6 秒后重试...
[2012-06-04 03:27:56,509:错误/MainProcess] 消费者:连接错误:套接字

有趣的是,celery cam 的错误日志显示了一些不同的东西。我不确定这是否是一个红鲱鱼..

/home/dotcloud/env/lib/python2.6/site-packages/django/conf/__init__.py:75:Depre
阳离子警告:已删除 ADMIN_MEDIA_PREFIX 设置;使用 STATIC_URL 我
相反。
  “改用 STATIC_URL。”,弃用警告)
[2012-06-04 03:27:31,373: INFO/MainProcess] -> evcam: 使用 djce 拍摄快照
lery.snapshot.Camera(每 1.0 秒)

回溯(最近一次通话最后):
  文件“hack/manage.py”,第 14 行,在
    执行管理器(设置)
  文件“/home/dotcloud/env/lib/python2.6/site-packages/django/core/management/__
init__.py”,第 459 行,在 execute_manager 中
    实用程序.execute()
  文件“/home/dotcloud/env/lib/python2.6/site-packages/django/core/management/__
init__.py”,第 382 行,在执行中
    self.fetch_command(子命令).run_from_argv(self.argv)
  文件“/home/dotcloud/env/lib/python2.6/site-packages/djcelery/management/base.
py",第 74 行,在 run_from_argv
    return 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 行,在执行中
    输出 = 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”,
第 70 行,在 run_evcam 中
    返回凸轮()
  文件“/home/dotcloud/env/lib/python2.6/site-packages/celery/events/snapshot.py
",第 116 行,在 evcam 中
    recv.capture(限制=无)
  文件“/home/dotcloud/env/lib/python2.6/site-packages/celery/events/__init__.py
",第 204 行,在捕获中
    列表(self.itercapture(限制=限制,超时=超时,唤醒=唤醒))
  文件“/home/dotcloud/env/lib/python2.6/site-packages/celery/events/__init__.py
",第 193 行,在迭代捕获中
    以 self.consumer(wakeup=wakeup) 作为消费者:
  文件“/usr/lib/python2.6/contextlib.py”,第 16 行,在 __enter__
    返回 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,复活
    频道 = 频道.default_channel
  文件“/home/dotcloud/env/lib/python2.6/site-packages/kombu/connection.py”,林
e 581,在 default_channel 中
    自连接
  文件“/home/dotcloud/env/lib/python2.6/site-packages/kombu/connection.py”,林
e 574,在连接
    self._connection = self._建立连接()
  文件“/home/dotcloud/env/lib/python2.6/site-packages/kombu/connection.py”,林
e 533,在_建立连接
    conn = self.transport.建立连接()
  文件“/home/dotcloud/env/lib/python2.6/site-packages/kombu/transport/amqplib.p
y",第 279 行,在建立连接中
    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
tion.py”,第 144 行,在 __init__ 中
    (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
tion.py”,第 202 行,在 _wait_method 中
    self.method_reader.read_method()
  文件“/home/dotcloud/env/lib/python2.6/site-packages/amqplib/client_0_8/method
_framing.py”,第 221 行,在 read_method 中
    提高米
IOError:套接字已关闭

我的主管文件:

[程序:djcelery]
目录 = /home/dotcloud/current/
命令 = /home/dotcloud/env/bin/python hack/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/python hack/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
配置:
    密码:xxx
    rabbitmq_management:真
    用户:根
created_at: 1338702527.075196
数据中心:Amazon-us-east-1c
image_version:924a079b622a(最新)
内存:49M/512M (9%)
端口:
- 名称:ssh
    网址:ssh://dotcloud@hackxxx.dotcloud.com:29209
- 名称:amqp
    网址:amqp://root:xxxx@hackxxxx.dotcloud.com:29210
- 名称:http
    网址:http://root:xxx@hack1-xxxx.dotcloud.com/
状态:运行
类型:rabbitmq
4

1 回答 1

0

看起来它与您的经纪人有问题。您是否确认可以连接到您的代理,并且它已启动并运行?

你用什么做经纪人?

于 2012-06-04T13:02:19.403 回答