如何解决此错误?django + celery + rabbitmq + mysql + redis中的"RestartFreqExceeded:5 in 1s"

raj*_*900 7 python celery django-celery celerybeat djcelery

所以我用芹菜django.rabbitmq是经纪人.redis是缓存.mysql是db.(localhost中的所有内容)

  1. 我正在使用python2.7并使用基于virtualenv的虚拟环境
  2. 我在默认端口启动redis服务器(本地)
  3. 在一个新的终端,我跑

    python manage.py runserver
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在一个新的终端我开始像这样的芹菜

    celery -A ds_django worker -B -l warning
    
    Run Code Online (Sandbox Code Playgroud)

这个程序过去常常有效.但现在当我运行celery命令时,我得到以下内容

    [2016-07-12 09:15:20,113: CRITICAL/MainProcess] Frequent restarts detected: RestartFreqExceeded('5 in 1s',)
    Traceback (most recent call last):
        File "/Users/user/Desktop/ds-django/ds_django/newDs/lib/python2.7/site- packages/celery/worker/consumer.py", line 285, in start
            self._restart_state.step()
        File "/Users/user/Desktop/ds-django/ds_django/newDs/lib/python2.7/site-packages/billiard/common.py", line 130, in step
            raise self.RestartFreqExceeded("%r in %rs" % (R, self.maxT))
     RestartFreqExceeded: 5 in 1s
Run Code Online (Sandbox Code Playgroud)

我完全不知道为什么会发生这种情况或如何解决这个问题.我一遍又一遍地搜索Google和StackOverFlow,但没有用.

我认为可能发生这种情况的一个原因是,有时我曾经一次经营过4名芹菜工人,然后将他们全部关闭.也许是因为它说重启频率超标,但不确定.而且不知道如何解决这个问题.可能是一些配置文件设置,但哪个设置和哪里也没有任何线索.

如果需要任何其他信息,我会提供.任何帮助表示赞赏.谢谢.

bac*_*ack 6

为了回答你的问题,Your RabbitMQ is down由于消费者开始重新连接并且它进入连续循环并创建了一个异常RestartFreqExceeded。请尝试启动您的RabbitMQ服务器并运行您的芹菜。