示例#1
0
class Consumer():
    connection = None
    channel = None
    queue_name = None
    on_message_callback = None

    def __init__(self, props):
        self.props = props

    def start(self, on_message_callback, exchange):
        self.on_message_callback = on_message_callback
        self.connection = BlockingConnection()
        self.connection.set_backpressure_multiplier(self.props.backpressure)
        self.channel = self.connection.channel()
        self.channel.queue_declare(queue=exchange,
                                   durable=True,
                                   exclusive=False,
                                   auto_delete=False)

        self.channel.basic_consume(self.on_message, exchange, no_ack=True)

        self.channel.start_consuming()

    def on_message(self, a, b, c, message):
        self.on_message_callback(message)
示例#2
0
class Publisher(object):
    connection = None
    channel = None
    exchange = None

    def __init__(self, props):
        self.props = props

    def start(self, exchange):
        self.exchange = exchange
        self.connection = BlockingConnection()
        self.connection.set_backpressure_multiplier(self.props.backpressure)
        self.channel = self.connection.channel()
        self.channel.queue_declare(queue=exchange, durable=True, exclusive=False, auto_delete=False)

    def publish(self, status):
        self.channel.basic_publish(
            exchange="",
            routing_key=self.exchange,
            body=status,
            properties=BasicProperties(content_type="text/plain", delivery_mode=1),
        )

    def close(self):
        self.connection.close()
示例#3
0
class Publisher(object):
    connection = None
    channel = None
    exchange = None

    def __init__(self, props):
        self.props = props

    def start(self, exchange):
        self.exchange = exchange
        self.connection = BlockingConnection()
        self.connection.set_backpressure_multiplier(self.props.backpressure)
        self.channel = self.connection.channel()
        self.channel.queue_declare(queue=exchange,
                                   durable=True,
                                   exclusive=False,
                                   auto_delete=False)

    def publish(self, status):
        self.channel.basic_publish(exchange="",
                                   routing_key=self.exchange,
                                   body=status,
                                   properties=BasicProperties(
                                       content_type="text/plain",
                                       delivery_mode=1))

    def close(self):
        self.connection.close()
示例#4
0
class Consumer:
    connection = None
    channel = None
    queue_name = None
    on_message_callback = None

    def __init__(self, props):
        self.props = props

    def start(self, on_message_callback, exchange):
        self.on_message_callback = on_message_callback
        self.connection = BlockingConnection()
        self.connection.set_backpressure_multiplier(self.props.backpressure)
        self.channel = self.connection.channel()
        self.channel.queue_declare(queue=exchange, durable=True, exclusive=False, auto_delete=False)

        self.channel.basic_consume(self.on_message, exchange, no_ack=True)

        self.channel.start_consuming()

    def on_message(self, a, b, c, message):
        self.on_message_callback(message)