ОШИБКА — не удалось выполнить вызов API управления RabbitMQ: HTTP 500: внутренняя ошибка сервера
каждый раз, когда я пытаюсь получить доступ к очередям RabbitMQ через интерфейс управления RabbitMQ (http://localhost:15672/#/queues) или Celery Broker (http://localhost:5555/broker).
Вот подробная информация журнала:
=ОТЧЕТ ОБ ОШИБКЕ==== 15 января 2017 г.::23:12:19 === ошибка веб-машины: path="/api/queues/%2F" {error,{error,function_clause,
[{mochijson2,json_encode_string_unicode,
[{error,[],}, {encoder,null,false}, """],
[{file,"src/mochijson2.erl"},{line,274}]},
{mochijson2,'-json_encode_proplist/2-fun-0-',3,
[{file, "src/mochijson2.erl"},{line,198}]},
{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},
{mochijson2,json_encode_proplist,2,
[{file,"src/mochijson2. erl"},{line,202}]},
{mochijson2,'-json_encode_proplist/2-fun-0-',3,
[{file,"src/mochijson2.erl"},{line,199}]},
{lists,foldl ,3,[{file,"lists.erl"},{line,1248}]},
{mochijson2,json_encode_proplist,2,
[{file,"src/mochijson2.erl"},{line,202}]},
{mochijson2,'-json_encode_array/2-fun-0-' ,3,
[{file,"src/mochijson2.erl"},{line,189}]}]}
Веб-управление RabbitMQ дает я:
Получил код ответа 500 с телом {"error":"Внутренний сервер
Ошибка","причина":"{error,{error,function_clause,\n
[{mochijson2,json_encode_string_unicode,\n
[{error,[],},\n {encoder,null,false},\n
"\""],\n [{file,"src/mochijson2.erl"},{line,274}]},\n
{mochijson2,'-json_encode_proplist/2-fun-0-',3,\n
[{file,"src/mochijson2.erl"},{line,198}]},\n
{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},\n
{mochijson2,json_encode_proplist,2,\n
[{file," src/mochijson2.erl"},{line,202}]},\n
{mochijson2,'-json_encode_proplist/2-fun-0-',3,\n
[{file,"src/mochijson2.erl"},{line,199}]},\n
{lists,foldl,3,[{file,"lists.erl"},{line,1248}]},\n
{mochijson2,json_encode_proplist,2,\n
[{file,"src/mochijson2.erl"},{line,202}]},\n
{mochijson2,'-json_encode_array/2-fun -0-',3,\n
[{file,"src/mochijson2.erl"},{line,189}]}]}}\n"
Я использую:
- Ubuntu 14.04
- Python 2.7.6
- Цветок 0.9.1
- Сельдерей 4.0.2
- RabbitMQ 3.6.6
Erlang/OTP 19
Здесь это вывод для статуса RabbitMQCTL:
[{pid,28609}, {running_applications,
[{rabbitmq_management,"Консоль управления RabbitMQ" ,"3.6.6"},
{amqp_client,"Клиент RabbitMQ AMQP","3.6.6"},
{rabbitmq_management_agent, «Агент управления RabbitMQ», «3.6.6»},
{rabbitmq_web_dispatch, «Веб-диспетчер RabbitMQ», «3.6.6»},
{rabbit, «RabbitMQ», «3.6. 6"},
{os_mon,"CPO CXC 138 46","2.4.1"},
{webmachine,"webmachine","1.10.3"},
{mochiweb,"Веб-сервер MochiMedia","2.13.1"},
{ssl,"Приложение Erlang/OTP SSL","8.1"},
{public_key,"Инфраструктура открытых ключей","1.3"},
{crypto,"CRYPTO","3.7.2"},
{rabbit_common,[],"3.6.6"},
{xmerl,"XML parser","1.3.12" },
{asn1,"Компилятор Erlang ASN1 версии 4.0.4","4.0.4"},
{syntax_tools,"Инструменты синтаксиса","2.1.1"},
{mnesia,"MNESIA CXC 138 12","4.14.2"},
{компилятор, "ERTS CXC 138 10", "7.0.3"},
{ranch,"Пул приемников сокетов для TCP протоколы.","1.2.1"},
{inets,"INETS CXC 138 49","6.3.4"},
{sasl,"SASL CXC 138 11","3.0.2 "},
{stdlib,"ERTS CXC 138 10","3.2"},
{kernel,"ERTS CXC 138 10","5.1.1"}]}, {os,{unix,linux}}, {erlang_version,
"Erlang/OTP 19 [erts-8.2] [исходный код] [64-бит] [ smp:4:4] [async-threads:64] [kernel-poll:true]\n"}, {memory,
[{total,112070616},
{connection_readers,471152},
{connection_writers,171664},
{connection_channels,494680},
{connection_other,407232},
{queue_procs,534792},
{queue_slave_procs,0},
{plugins,2121728},
{other_proc,12017232},
{mnesia,93584},
{mgmt_db,5114688},
{msg_index,49304},
{other_ets,1902144},
{binary,52694768},
{code,24783822},
{atom,1033401},
{other_system,10180425}]}, {alarms ,[]}, {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.4}, {vm_memory_limit,6691391078},
{disk_free_limit ,50000000}, {disk_free,59039645696},
{file_descriptors,
[{total_limit,3996},
{total_used,23},
{sockets_limit,3594},
{sockets_used ,20}]}, {processes,[{limit,1048576},{used,454}]}, {run_queue,0}, {uptime,2498}, {kernel,{net_ticktime,60}}]
Вот как я запускаю Celery:
Запускаю 3 рабочих сельдерея:
Код: Выделить всё
celery worker -A celeryapp --config celeryconfig --workdir /proj -l DEBUG --soft-time-limit=3500 --time-limit=3600 --autoscale=2,1 -S /proj/states.db -s /proj/celerybeat-schedule.db -f /proj/logs/celery_worker_1_%n%I.log --pidfile /tmp/celery_w1.pid -n worker1@%d
celery worker -A celeryapp --config celeryconfig --workdir /proj -l DEBUG --soft-time-limit=3500 --time-limit=3600 --autoscale=2,1 -S /proj/states.db -s /proj/celerybeat-schedule.db -f /proj/logs/celery_worker_2_%n%I.log --pidfile /tmp/celery_w2.pid -n worker2@%d
celery worker -A celeryapp --config celeryconfig --workdir /proj -l DEBUG --soft-time-limit=3500 --time-limit=3600 --autoscale=2,1 -S /proj/states.db -s /proj/celerybeat-schedule.db -f /proj/logs/celery_worker_3_%n%I.log --pidfile /tmp/celery_w3.pid -n worker3@%d
Код: Выделить всё
celery beat -A celeryapp --config celeryconfig --workdir /proj -l DEBUG -s /proj/celerybeat-schedule.db -f /proj/logs/celery_%n%I.log --pidfile /tmp/celery.pid
Код: Выделить всё
celery flower -A celeryapp --workdir=/proj/ --broker=amqp://guest:guest@localhost:5672// --broker-api=http://guest:guest@localhost:15672/api/ --db=/proj/flower.db --logging=debug --basic-auth=guest:guest
Подробнее здесь: https://stackoverflow.com/questions/416 ... rver-error