Celery 后端失败?

0 投票
1 回答
1585 浏览
提问于 2025-04-18 03:10

我在某个地方搞砸了。

我正在使用celery来运行一个任务,这个任务又会运行其他任务。我用RabbitMQ作为我的后台支持。

每次我开机后,erl.exe就会占用我50%的CPU资源和好几个GB的内存。如果我不管它,内存使用量会持续稳步上升。(图中的下降是我结束了这个进程)

taskmgr

如果我结束这个进程,celery的beat和worker就会报错,显示

[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.

如果我不结束这个进程,worker和beat只会输出一些配置信息,然后就卡住了。

如果我尝试使用discard_all(),它也会卡住,同时内存使用量稳步上升。

有没有办法让我重置erlang,而不需要通过celery?我对队列里的内容不在乎,都是开发用的东西。

编辑:

这是我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 ***
**********************************************************

1 个回答

1

我最后做了以下几件事:

  1. 卸载了RabbitMQ和Erlang。
  2. 删除了 C:\Users\username\AppData\RabbitMQ 这个文件夹。
  3. 重启了电脑,因为至少有一个Erlang的程序(epmd.exe)还在运行。
  4. 重新安装了Erlang和RabbitMQ。

你好,IT。你试过关掉再开吗?

撰写回答