Я изучаю RabbitMQ и запустил пример hello world на http://www.rabbitmq.com/tutorials/tutorial-one-python.html без проблем на localhost. Теперь я хочу протестировать обмен сообщениями с моего ПК на другой сервер, receive.py никогда не получает никаких сообщений. Возможно, я неправильно указываю имена хостов?
Receive.py:
#!/usr/bin/env python
import pika
import json
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='66.175.x.x'))
channel = connection.channel()
channel.queue_declare(queue='hello')
print ' [*] Waiting for messages. To exit press CTRL+C'
def callback(ch, method, properties, body):
data = json.loads(body)
print "Log filename is " + data["filename"]
print data["content"]
channel.basic_consume(callback,
queue='hello',
no_ack=True)
channel.start_consuming()
send.py:
#!/usr/bin/env python
import pika
import json
import sys
filename = sys.argv[1]
logdata = open(filename, 'r').read()
connection = pika.BlockingConnection(pika.ConnectionParameters(
host='66.175.x.x'))
channel = connection.channel()
channel.queue_declare(queue='logupload')
n = filename.rfind('\\')
if n != -1:
filename = filename[n + 1:]
data = {"filename":filename, "logdata":logdata}
channel.basic_publish(exchange='',
routing_key='logupload',
body=json.dumps(data))
connection.close()
print "sent %s %d bytes" % (filename, len(logdata))
RabbitMQ - http://www.rabbitmq.com/configure.html
Смотрите файл frame_max. Похоже, что по умолчанию поддерживается 128 КБ. Вы можете проверить этот параметр в своей установке.
Убедитесь, что rabbitmq действительно прослушивает порт 5672 и что этот порт открыт в брандмауэре вашего сервера Linode.
В вашей конфигурации RABBITMQ_NODE_IP_ADDRESS должно быть пустым, RABBITMQ_NODE_PORT должно быть 5672.