RabbitMq C API: эмуляция "rabbitmqctl cluster_status -n rabbit @<имя удаленного хоста>" из C API
Я пытаюсь получить список узлов в кластере, используя только C API.
Более или менее то, что возвращает следующая команда оболочки, но из C API
rabbitmqctl cluster_status -n rabbit@<remote hostname>
Я хотел бы избежать звонка rabbitmqctl
из С с system()
или же popoen()
или что-то еще, поскольку я хочу избежать зависимости от пакета сервера rabbitmq на стороне клиента.
Любой намек?
1 ответ
Решение
Получение статуса кластера RabbitMQ не является чем-то стандартным AMQP, и это не то, что rabbitmq-c
поддерживает, по крайней мере, в это время. Существует плагин управления, который предоставляет API-интерфейс RabbitMQ HTTP, который вам наиболее близок.
Посмотрите на HTTP-клиент RabbitMQ для API Ruby, который описывает получение статуса кластера из HTTP API.