Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 芹菜连接代理丢失使CPU使用率达到100%_Python_Rabbitmq_Celery_Amqp_Django Celery - Fatal编程技术网

Python 芹菜连接代理丢失使CPU使用率达到100%

Python 芹菜连接代理丢失使CPU使用率达到100%,python,rabbitmq,celery,amqp,django-celery,Python,Rabbitmq,Celery,Amqp,Django Celery,当主进程与代理失去连接时,芹菜出现了一些奇怪的问题。芹菜产生下面的错误,然后开始使用100%的CPU。工人们仍将继续努力工作。我可以看出RabbitMQ认为连接超时了。在更新到芹菜3之后,我们经常遇到这些错误 我有一种感觉,它与非阻塞消息消费有关,但我在理解代码方面没有真正的进步 有没有什么方法可以更早地检测到这些问题,或者防止芹菜使用100%的CPU 芹菜:3.0.4 AMQP:1.0.10 RabbitMQ:2.8.4 时间戳相隔2小时,因为RabbitMQ报告GMT和芹菜本地时间 芹菜

当主进程与代理失去连接时,芹菜出现了一些奇怪的问题。芹菜产生下面的错误,然后开始使用100%的CPU。工人们仍将继续努力工作。我可以看出RabbitMQ认为连接超时了。在更新到芹菜3之后,我们经常遇到这些错误

我有一种感觉,它与非阻塞消息消费有关,但我在理解代码方面没有真正的进步

有没有什么方法可以更早地检测到这些问题,或者防止芹菜使用100%的CPU

  • 芹菜:3.0.4
  • AMQP:1.0.10
  • RabbitMQ:2.8.4
时间戳相隔2小时,因为RabbitMQ报告GMT和芹菜本地时间

芹菜错误

[2013-05-09 18:20:20,204: ERROR/MainProcess] Consumer: Connection to broker lost. Trying to re-establish the connection...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/celery/worker/consumer.py", line 369, in start
    self.consume_messages()
  File "/usr/local/lib/python2.7/site-packages/celery/worker/consumer.py", line 450, in consume_messages
    readers[fileno](fileno, event)
  File "/usr/local/lib/python2.7/site-packages/kombu/connection.py", line 290, in drain_nowait
    self.drain_events(timeout=0)
  File "/usr/local/lib/python2.7/site-packages/kombu/connection.py", line 279, in drain_events
    return self.transport.drain_events(self.connection, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/kombu/transport/pyamqp.py", line 91, in drain_events
    return connection.drain_events(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/amqp/connection.py", line 266, in drain_events
    chanmap, None, timeout=timeout,
  File "/usr/local/lib/python2.7/site-packages/amqp/connection.py", line 328, in _wait_multiple
    channel, method_sig, args, content = read_timeout(timeout)
  File "/usr/local/lib/python2.7/site-packages/amqp/connection.py", line 299, in read_timeout
    return self.method_reader.read_method()
  File "/usr/local/lib/python2.7/site-packages/amqp/method_framing.py", line 187, in read_method
    raise m
IOError: Socket closed
=ERROR REPORT==== 9-May-2013::16:20:20 ===
closing AMQP connection <0.1813.0> (192.168.201.104:12809 -> 192.168.201.104:5672):
{timeout,running}
RabbitMQ错误

[2013-05-09 18:20:20,204: ERROR/MainProcess] Consumer: Connection to broker lost. Trying to re-establish the connection...
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/celery/worker/consumer.py", line 369, in start
    self.consume_messages()
  File "/usr/local/lib/python2.7/site-packages/celery/worker/consumer.py", line 450, in consume_messages
    readers[fileno](fileno, event)
  File "/usr/local/lib/python2.7/site-packages/kombu/connection.py", line 290, in drain_nowait
    self.drain_events(timeout=0)
  File "/usr/local/lib/python2.7/site-packages/kombu/connection.py", line 279, in drain_events
    return self.transport.drain_events(self.connection, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/kombu/transport/pyamqp.py", line 91, in drain_events
    return connection.drain_events(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/amqp/connection.py", line 266, in drain_events
    chanmap, None, timeout=timeout,
  File "/usr/local/lib/python2.7/site-packages/amqp/connection.py", line 328, in _wait_multiple
    channel, method_sig, args, content = read_timeout(timeout)
  File "/usr/local/lib/python2.7/site-packages/amqp/connection.py", line 299, in read_timeout
    return self.method_reader.read_method()
  File "/usr/local/lib/python2.7/site-packages/amqp/method_framing.py", line 187, in read_method
    raise m
IOError: Socket closed
=ERROR REPORT==== 9-May-2013::16:20:20 ===
closing AMQP connection <0.1813.0> (192.168.201.104:12809 -> 192.168.201.104:5672):
{timeout,running}
=错误报告===2013年5月9日::16:20:20===
正在关闭AMQP连接(192.168.201.104:12809->192.168.201.104:5672):
{超时,正在运行}

我关闭了代理,这似乎解决了问题。但是,我不太确定,因为我没有办法复制这个bug。

使用SQS代理为我工作。谢谢