Как решить эту ошибку? RestartFreqExceeded: 5 в 1 с в django+celery+rabbitmq+mysql+redis

Итак, я использую django с сельдереем. rabbitmq является брокером. Redis - это кеш. mysql это БД. (все на локальном хосте)

  1. Я использую python2.7 и использую виртуальную среду на основе virtualenv.
  2. Я запускаю сервер Redis (локальный) на порту по умолчанию
  3. В новом терминале я запускаю

    python manage.py runserver
    
  4. В новом терминале я запускаю сельдерей так

    celery -A ds_django worker -B -l warning
    

И эта процедура работала. Но теперь, когда я запускаю команду 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

Я совершенно не знаю, почему это происходит или как это исправить. Я снова и снова искал Google и StackOverFlow, но безрезультатно.

Одна из причин, по которой я думаю, что это могло произойти, заключается в том, что когда-то я запускал 4 рабочих сельдерея одновременно, а затем отключал их всех. Может из-за этого пишет превышение частоты перезапуска, но не уверен. И без понятия, как это исправить. Вероятно, какие-то настройки файла конфигурации, но какие настройки и где, тоже не знаю.

Если потребуется какая-либо другая информация, я предоставлю. Любая помощь приветствуется. Спасибо.


person TheRajVJain    schedule 12.07.2016    source источник
comment
Я подозреваю, что это из-за проблемы с подключением RabbitMQ? Можете ли вы проверить доступ к RabbitMQ   -  person backtrack    schedule 12.07.2016
comment
Я использовал для доступа к консоли rabbitmq, используя localhost:15672/#/queues. Теперь, когда я пытаюсь, он говорит, что не определено: в js/tmpl/login.ejs нет шаблона @Backtrack.   -  person TheRajVJain    schedule 12.07.2016
comment
это означает, что ваш RabbitMQ не работает. Пожалуйста, запустите его и попробуйте   -  person backtrack    schedule 12.07.2016
comment
Любое обновление? Вы пробовали после запуска RabbitMQ?   -  person backtrack    schedule 12.07.2016


Ответы (1)


Чтобы ответить на ваш вопрос, Your RabbitMQ is down из-за того, что потребитель начал повторное подключение, он перешел в непрерывный цикл и создал исключение RestartFreqExceeded. Пожалуйста, попробуйте запустить сервер RabbitMQ и запустить сельдерей.

person backtrack    schedule 12.07.2016
comment
Я пробовал это @Backtrack. Все та же ошибка. Я удалил и установил rabbitmq (используя доморощенный). Бесполезно. Все та же ошибка - person TheRajVJain; 12.07.2016
comment
@RajJain, у вас есть доступ к RabbitMQ? - person backtrack; 12.07.2016
comment
@RajJain, вы предоставляете локальный хост для подключения удаленного IP-адреса к потребителю? - person backtrack; 12.07.2016
comment
Я получаю это, когда запускаю rabbitmqctl status [{pid,3641}, {running_applications,[{os_mon,CPO CXC 138 46,2.4}, {ssl,Erlang/OTP SSL application,7.3}, {mnesia,MNESIA CXC 138 12,4.13 .3}, {amqp_client, RabbitMQ AMQP Client, 3.6.1}, {public_key, инфраструктура открытого ключа, 1.1.1}, {asn1, компилятор Erlang ASN1 версии 4.0.2, 4.0.2}, {syntax_tools, синтаксические инструменты ,1.7} и так далее @Backtrack - person TheRajVJain; 12.07.2016
comment
Как вы подключаетесь от потребителя? Вы используете локальный или удаленный IP? - person backtrack; 12.07.2016
comment
я использую локальный хост - person TheRajVJain; 12.07.2016
comment
@RajJain, вы запускаете задачу сельдерея с той же машины? - person backtrack; 12.07.2016
comment
да @Backtrack. все локально и на локальном хосте - person TheRajVJain; 12.07.2016
comment
обновление: я запускаю brew services start rabbitmq, он говорит, что уже запущен. когда я запускаю rabbitmqadmin list queues, он говорит, что соединение отклонено. когда я захожу в консоль управления, он говорит, что не может подключиться к ней - person TheRajVJain; 12.07.2016
comment
rabbitmq-server ОШИБКА: узел с именем rabbit уже запущен на локальном хосте, а затем localhost:15672/#/queues, он говорит undefined: в js/tmpl/login.ejs снова нет шаблона - person TheRajVJain; 12.07.2016
comment
@RajJain Это означает, что у вас все еще есть проблема с подключением RabbitMQ. На какую ОС вы судитесь? - person backtrack; 12.07.2016
comment
Mac OS X @Backtrack - person TheRajVJain; 12.07.2016
comment
@RajJain - Можете ли вы запустить это: статус rabbitmqctl и проверить статус. Следуйте этому: rabbitmq.com/install-standalone-mac.html - person backtrack; 12.07.2016
comment
Я это сделал. я снова переустановил. А потом, когда я бегу, rabbitmq-server останавливается на Starting broker... почти навсегда @Backtrack - person TheRajVJain; 12.07.2016
comment
Пожалуйста, проверьте ссылку выше - person backtrack; 12.07.2016
comment
Ответ правильный. возникла проблема с моим rabbitmq. Я удалил rabbitmq, удалил ВСЕ файлы, относящиеся к нему (с помощью моего старшего), затем переустановил, и это сработало :), но приведенная выше ссылка не была такой уж полезной :) @Backtrack - person TheRajVJain; 13.07.2016
comment
@RajJain, подумайте о голосовании :) рад, что это может помочь - person backtrack; 13.07.2016
comment
я сделал! но, видимо, из-за менее чем 15 повторений это не будет отображаться на публике, лол. когда моя репутация станет больше 15, это будет видно. Так что пальчики оближешь :) - person TheRajVJain; 13.07.2016
comment
@RajJain, :). ржунимагу. Пожалуйста, перейдите по этим 2 ссылкам, мы используем сельдерей в PRD, и следующие ссылки будут полезны. denibertovic.com/posts/celery-best-practices blog.balthazar-rouberol.com/celery-best-practices - person backtrack; 13.07.2016
comment
Хороший!! Спасибо @Backtrack - person TheRajVJain; 14.07.2016
comment
Я вижу эту ошибку, и мой сервер RabbitMQ в порядке. - person Cerin; 03.09.2019
comment
@Cerin - Когда вы говорите, что Rabbitmq работает нормально - как вы это проверили? Вы используете Celery и Rabbit на одном сервере? - person backtrack; 04.09.2019
comment
Я видел недавнее голосование против - дорогие проголосовавшие против, пожалуйста, оставьте свое сообщение. Я думаю, что помог OP решить эту проблему. Если мой ответ вам не помог, создайте его. Я рад помочь вам. - person backtrack; 05.09.2019