def __init__(self, cb_server_address, rmq_username, rmq_password, routing_key):
self.q = Queue.Queue()
self.go = True
# in case the cb url is passed in (which is often required for API stuff),
# try to parse out the IP/DNS information.
# This could be cleaner and better.
cb_server_address = cb_server_address.lower()
if cb_server_address.startswith("https://"):
cb_server_address = cb_server_address[8:]
elif cb_server_address.startswith("http://"):
cb_server_address = cb_server_address[7:]
cb_server_address = cb_server_address.split('/')[0]
# Set the connection parameters to connect to rabbit-server1 on port 5672
# on the / virtual host using the username "guest" and password "guest"
credentials = pika.PlainCredentials(rmq_username, rmq_password)
parameters = pika.ConnectionParameters(cb_server_address,
5004,
'/',
credentials)
self.connection = pika.BlockingConnection(parameters)
self.channel = self.connection.channel()
queue_name = self.__generate_queue_name()
# make sure you use auto_delete so the queue isn't left filling
# with events when this program exists.
self.channel.queue_declare(queue=queue_name, auto_delete=True)
self.channel.queue_bind(exchange='api.events', queue=queue_name, routing_key=routing_key)
self.channel.basic_consume(self.__on_message, queue=queue_name)
threading.Thread.__init__(self)
评论列表
文章目录