Python Pika回调不适用于类中的SelectConnection

时间:2015-07-13 12:09:06

标签: python callback asynccallback pika python-pika

我正在尝试创建一个简单的Python Pika SelectConnection,似乎我无法使用on_open_callback打开连接,而且我也无法从te on_open_error_callback获取任何内容。有人可以建议可能导致问题的原因吗?

import pika

class RabbitmqTransport(object):

    def __init__(self):

        self._connection = None
        self._channel = None
        self._connect()

    def on_connection_open(self):
        print "connection created"

    def on_connection_open_error(self):
        print "connection open error"

    def _connect(self):
        # Setup RabbitMQ connection
        credentials = pika.PlainCredentials('guest','guest')
        parameters = pika.URLParameters('amqp://guest:guest@localhost:5672/%2F')


        print "Creating Connection"
        self._connection = pika.SelectConnection(parameters=parameters,on_open_callback=self.on_connection_open,on_open_error_callback=self.on_connection_open_error)
        print self._connection.connection_state
        print dir(self._connection)
        print self._connection.is_open

r = RabbitmqTransport()

1 个答案:

答案 0 :(得分:1)

发现问题,我添加了下面的行,然后打开了连接并且回调工作正常。

self._connection.ioloop.start()
相关问题