Я пытаюсь опубликовать сообщение для rabbitmq. это работает в рабочей среде env с тем же кодом, поэтому я подозреваю, что это проблема с конфигурацией .Сервер rabbitmq не получает сообщения от клиента python
rbqueue = RabbitMQClientQueue('cn-dip-v3', host = rabbitmq_config['host'], username = rabbitmq_config['user'], password = rabbitmq_config['password'])
channel = rbqueue.connection.channel()
args = {"x-max-priority": 10}
channel.queue_declare(queue='cn-dip-v3', durable=True, arguments=args)
result = channel.queue_declare(exclusive=True)
callback_queue = result.method.queue
msgBody = json.dumps({"ohad":123})
# may happen that sendResponseToDal is True but there is no sendResponseToDal method on server side
data = {"body":msgBody,"queue_response" : False}
if responseHandler:
data["queue_response"] = True
corrID = str(uuid.uuid4())
>>> channel.basic_publish(exchange='',routing_key='cn-dip-v3',properties=pika.BasicProperties(priority = 10, reply_to = callback_queue,correlation_id = corrID,),body=json.dumps(data))
>>>
В queue_declare
работы. если я удалю его и запустив ту же строку, то очередь будет определена. Я вижу его в панели управления, которая как ни странно, в порту 55672, а не 15672.
также, после того, как каждый раз, когда я управлял channel.basic_publish
, я вижу другую очередь обратного вызова добавляется в очередь в управлении кроликом.
все, что не хватает это сообщение, чтобы получить там.
Ваш комментарий о портах заставляет меня подозревать, что у вас разные версии брокерских сообщений. Порт для версий RabbitMQ до 3.0 - 55672. Существуют существенные различия в версиях 3.0 и более поздних версий. – theMayer
oh man ... 4 часа работы ..... спасибо! – WebQube
Я должен был выложить как ответ! ха-ха – theMayer