【问题标题】:Celery back-end failure?芹菜后端失败?
【发布时间】:2014-06-02 06:49:30
【问题描述】:

我在某个地方搞砸了。

我正在使用 celery 来运行一个运行其他任务的任务。我使用 RabbitMQ 作为我的后端。

当我启动我的电脑时,erl.exe 立即占用了我 50% 的 CPU 资源和几 GB 的 RAM。如果我放手,RAM 使用量将继续稳步攀升。 (下降是我结束这个过程的时候)

如果我结束这个过程,celery beat/workers 会出错

[2014-04-17 12:35:07,869: ERROR/MainProcess] consumer: Cannot connect to amqp://guest@127.0.0.1:5672//: [Errno 10061] No connection could be made because the target machine actively refused it.

如果我不结束这个过程,工人和节拍只是吐出配置信息然后挂起。

如果我尝试使用discard_all(),它也会挂起,而 RAM 使用率稳步攀升。

有没有一种方法可以在不通过 celery 的情况下重置 erlang?我不关心队列中的任何事情,这都是开发人员的事情。

编辑:

我的 rabbitmq 日志文件到此结束。

=INFO REPORT==== 17-Apr-2014::13:20:41 ===
Starting RabbitMQ 3.2.4 on Erlang R16B03-1
Copyright (C) 2007-2013 GoPivotal, Inc.
Licensed under the MPL.  See http://www.rabbitmq.com/

=INFO REPORT==== 17-Apr-2014::13:20:41 ===
node           : rabbit@myComputer
home dir       : C:\Windows
config file(s) : (none)
cookie hash    : +z4Hn5WvfV2DO2xSryp0/Q==
log            : C:/Users/myUser/AppData/Roaming/RabbitMQ/log/rabbit@myComputer.log
sasl log       : C:/Users/myUser/AppData/Roaming/RabbitMQ/log/rabbit@myComputer-sasl.log
database dir   : c:/Users/myUser/AppData/Roaming/RabbitMQ/db/rabbit@myComputer-mnesia

=INFO REPORT==== 17-Apr-2014::13:20:44 ===
Limiting to approx 8092 file handles (7280 sockets)

=INFO REPORT==== 17-Apr-2014::13:20:45 ===
Memory limit set to 9829MB of 24573MB total.

=INFO REPORT==== 17-Apr-2014::13:20:45 ===
Disk free limit set to 50MB

=INFO REPORT==== 17-Apr-2014::13:24:57 ===
msg_store_transient: using rabbit_msg_store_ets_index to provide index

=INFO REPORT==== 17-Apr-2014::13:24:57 ===
msg_store_persistent: using rabbit_msg_store_ets_index to provide index

=WARNING REPORT==== 17-Apr-2014::13:24:57 ===
msg_store_persistent: rebuilding indices from scratch

=INFO REPORT==== 17-Apr-2014::13:26:48 ===
started TCP Listener on [::]:5672

=INFO REPORT==== 17-Apr-2014::13:26:49 ===
started TCP Listener on 0.0.0.0:5672

=WARNING REPORT==== 17-Apr-2014::13:35:04 ===
file descriptor limit alarm set.

********************************************************************
*** New connections will not be accepted until this alarm clears ***
********************************************************************

=WARNING REPORT==== 17-Apr-2014::13:35:05 ===
file descriptor limit alarm cleared

=INFO REPORT==== 17-Apr-2014::13:35:05 ===
Server startup complete; 0 plugins started.

=WARNING REPORT==== 17-Apr-2014::13:35:06 ===
file descriptor limit alarm set.

********************************************************************
*** New connections will not be accepted until this alarm clears ***
********************************************************************

=WARNING REPORT==== 17-Apr-2014::13:35:07 ===
file descriptor limit alarm cleared

=INFO REPORT==== 17-Apr-2014::13:37:40 ===
vm_memory_high_watermark set. Memory used:10558805712 allowed:10306889318

=WARNING REPORT==== 17-Apr-2014::13:37:40 ===
memory resource limit alarm set on node 'rabbit@myComputer'.

**********************************************************
*** Publishers will be blocked until this alarm clears ***
**********************************************************

=INFO REPORT==== 17-Apr-2014::13:37:41 ===
vm_memory_high_watermark clear. Memory used:10087183696 allowed:10306889318

=WARNING REPORT==== 17-Apr-2014::13:37:41 ===
memory resource limit alarm cleared on node 'rabbit@myComputer'

=INFO REPORT==== 17-Apr-2014::13:38:04 ===
vm_memory_high_watermark set. Memory used:10323681952 allowed:10306889318

=WARNING REPORT==== 17-Apr-2014::13:38:04 ===
memory resource limit alarm set on node 'rabbit@myComputer'.

**********************************************************
*** Publishers will be blocked until this alarm clears ***
**********************************************************

【问题讨论】:

  • 您能否在发生这种情况时查询 RabbitMQ 以查看队列是否失控或其他什么?我不确定在 Windows 上有什么可用的,但在 Linux 上我会使用 rabbitmqctl list_queues
  • @dano 这似乎也挂了。我不知道它应该花多长时间,但已经过了几分钟,它还没有显示任何东西。编辑:它似乎也使 RAM 使用率上升。几 GB。
  • 看来 RabbitMQ 有一些问题,那么。 list_queues 命令应立即完成。我会看看你是否能找到 RabbitMQ 的日志并寻找某种确凿的证据(抱歉,我只熟悉在 Linux 上运行它,所以在这里我帮不上什么忙)。
  • @dano 好的,RAM 使用率上升,直到我不得不终止进程。当我这样做时,rabbitmqctl list_queues 失败了。我将日志文件的最后一点作为编辑。不幸的是,我真的不知道我在寻找什么。

标签: python memory erlang rabbitmq celery


【解决方案1】:

我结束了:

  1. 卸载 RabbitMQ 和 Erlang。
  2. 删除C:\Users\username\AppData\RabbitMQ
  3. 已重新启动,因为至少有一个 Erlang (epmd.exe) 仍在运行。
  4. 重新安装 Erlang 和 RabbitMQ。

你好,IT。您是否尝试将其关闭并重新打开?

【讨论】:

  • 我遇到了同样的问题,我重新安装了 RabbitMQ 和 Erlang 多次,只有当我按照你写的特定顺序(删除文件夹并在重新安装前重新启动)时才有效。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 2016-06-03
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
相关资源
最近更新 更多