Django RabbitMQ不使用芹菜关闭旧连接
我将芹菜与Django一起使用,从几个数据中心的约20名工作人员处将任务消费/发布到RabbitMQ。大约一个月后,我就有了8000个开放式套接字描述符,这个数量一直在增加,直到我重新启动RabbitMQ。我经常“杀死-9”芹菜工人进程,而不是关闭它们,因为我不想等待作业完成。在workers上,我看不到RabbitMQ显示的连接。有没有办法从RabbitMQ中清除旧连接Django RabbitMQ不使用芹菜关闭旧连接,django,rabbitmq,celery,Django,Rabbitmq,Celery,我将芹菜与Django一起使用,从几个数据中心的约20名工作人员处将任务消费/发布到RabbitMQ。大约一个月后,我就有了8000个开放式套接字描述符,这个数量一直在增加,直到我重新启动RabbitMQ。我经常“杀死-9”芹菜工人进程,而不是关闭它们,因为我不想等待作业完成。在workers上,我看不到RabbitMQ显示的连接。有没有办法从RabbitMQ中清除旧连接 我正在使用芹菜3.1.13和RabbitMQ 3.2.4,它们都在Ubuntu 14.04上。我使用的不是librabbit
我正在使用芹菜3.1.13和RabbitMQ 3.2.4,它们都在Ubuntu 14.04上。我使用的不是librabbitmq,而是pyamqp。我在以下三机设置中遇到了同样的问题: 工人(Ubuntu 14.04) Django应用服务器(Ubuntu 14.04) Rabbit MQ服务器(Ubuntu 14.04 | rabbitmq服务器3.2.4)
工作人员收到的每个任务都会打开一个从未关闭过的连接(根据RabbitMQ日志),并消耗约2-3 MB内存 此后,我在Django服务器上将芹菜升级到最新版本,套接字描述符和内存使用保持稳定 我还看到任务完成后RabbitMQ日志中的连接关闭,如下所示:
closing AMQP connection <0.12345.0> (192.168.1.100:54321 -> 192.168.1.100:5672):
connection_closed_abruptly
关闭AMQP连接(192.168.1.100:54321->192.168.1.100:5672):
连接突然关闭
在Django的settings.py
文件中使用BROKER\u HEARTBEAT
RabbitMQ期望客户机提供此值(本例中为芹菜)
指
更多细节
amqp==1.4.2
celery==3.1.8
kombu==3.0.10
closing AMQP connection <0.12345.0> (192.168.1.100:54321 -> 192.168.1.100:5672):
connection_closed_abruptly