Я использую Сельдерей в приложении Django с RabbitMQ в качестве посредника сообщений.Тем не менее, RabbitMQ продолжает рушиться так.Во-первых, это ошибка, которую я получаю от Джанго.Трассировка в основном не важна, потому что я знаю, что является причиной ошибки, как вы увидите.
Traceback (most recent call last):
...
File "/usr/local/lib/python2.6/dist-packages/amqplib/client_0_8/transport.py", line 85, in __init__
raise socket.error, msg
error: [Errno 111] Connection refused
Я знаю, что это связано с поврежденным файлом rabbit_persister.log .Это связано с тем, что после того, как я убил все процессы, связанные с RabbitMQ, я запускаю «sudo rabbitmq-server start», чтобы получить следующий сбой:
...
starting queue recovery ...done
starting persister ...BOOT ERROR: FAILED
Reason: {{badmatch,{error,{{{badmatch,eof},
[{rabbit_persister,internal_load_snapshot,2},
{rabbit_persister,init,1},
{gen_server,init_it,6},
{proc_lib,init_p_do_apply,3}]},
{child,undefined,rabbit_persister,
{rabbit_persister,start_link,[]},
transient,100,worker,
[rabbit_persister]}}}},
[{rabbit_sup,start_child,2},
{rabbit,'-run_boot_step/1-lc$^1/1-1-',1},
{rabbit,run_boot_step,1},
{rabbit,'-start/2-lc$^0/1-0-',1},
{rabbit,start,2},
{application_master,start_it_old,4}]}
Erlang has closed
Мое текущее исправление: Каждый раз, когда это происходитЯ переименую соответствующий файл rabbit_persister.log во что-то другое (rabbit_persister.log.bak) и могу успешно перезапустить RabbitMQ.Но проблема продолжает возникать, и я не могу сказать, почему.Есть идеи?
Кроме того, как заявление об отказе от ответственности, я не имею опыта работы с Erlang;Я использую только RabbitMQ, потому что это брокер, предпочитаемый Celery.
Заранее спасибо, эта проблема действительно раздражает меня, потому что я продолжаю делать одно и то же исправление снова и снова.