示例#1
0
    def test_bug3_loop(self):
        i = [0]

        conn = Connection(self.amqp_url)
        qname = 'test-bug3-%s' % random.random()

        def cb(msg):
            i[0] += 1
            msg.ack()
            self.assertEqual(msg.body, 'x')
            if i[0] == 3:
                conn.close()

        channel = conn.allocate_channel()
        channel.queue_declare(queue=qname)

        for _ in range(3):
            channel.basic_publish(
                routing_key=qname,
                body='x'
            )

        channel.basic_consume(queue=qname, callback=cb)

        conn.join()
        self._epilogue(qname, 0)
示例#2
0
    def test_bug3_loop(self):
        i = [0]

        conn = Connection(self.amqp_url)
        qname = 'test-bug3-%s' % random.random()

        def cb(msg):
            i[0] += 1
            msg.ack()
            self.assertEqual(msg.body, 'x')
            if i[0] == 3:
                conn.close()

        channel = conn.allocate_channel()
        channel.queue_declare(queue=qname)

        for _ in range(3):
            channel.basic_publish(routing_key=qname, body='x')

        channel.basic_consume(queue=qname, callback=cb)

        conn.join()
        self._epilogue(qname, 0)
示例#3
0
logging.basicConfig()
logger = logging.getLogger('test_app')
logger.setLevel(logging.DEBUG)


conn = Connection(
    os.environ.get('AMQP_URL', 'amqp://*****:*****@localhost/'),
    heartbeat=5
)

@conn.on_connect
def on_connect(conn):
    # send some test messages
    with conn.channel() as channel:
        channel.basic_publish(
                exchange='manage',
                routing_key='all.apps.launch',
                body='{"application": "apps.pinger.pinger"}',
            )

    gevent.sleep(3.0)
    conn.close()

if __name__ == '__main__':
    conn.connect()

    try:
        conn.join()
    except KeyboardInterrupt:
        conn.close()
示例#4
0
@conn.on_connect
def on_connect(conn):
    global last_num
    with conn.channel() as channel:
        channel.exchange_declare(exchange='example',
                                 type='direct',
                                 durable=True)
        channel.confirm_select()
        while True:
            channel.basic_publish(exchange='example',
                                  routing_key='counter',
                                  body=str(last_num),
                                  headers={
                                      'delivery_mode': 2,
                                      'time': str(time.time())
                                  })
            print(datetime.datetime.now().strftime('[%H:%M:%S]'),
                  "Published message '%d'" % last_num)
            last_num += 1
            gevent.sleep(1)


if __name__ == '__main__':
    conn.connect()

    try:
        conn.join()
    except KeyboardInterrupt:
        conn.close()