diff options
Diffstat (limited to 'python/examples/api/drain')
-rwxr-xr-x | python/examples/api/drain | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/python/examples/api/drain b/python/examples/api/drain index a852d29de7..f2d7a50058 100755 --- a/python/examples/api/drain +++ b/python/examples/api/drain @@ -73,26 +73,30 @@ class Formatter: return eval(st, self.environ) # XXX: should make URL default the port for us -conn = Connection.open(url.host, url.port or AMQP_PORT, - username=url.user, - password=url.password, - reconnect=opts.reconnect, - reconnect_delay=opts.reconnect_delay, - reconnect_limit=opts.reconnect_limit) -ssn = conn.session() -rcv = ssn.receiver(addr) +conn = Connection(url.host, url.port or AMQP_PORT, + username=url.user, + password=url.password, + reconnect=opts.reconnect, + reconnect_delay=opts.reconnect_delay, + reconnect_limit=opts.reconnect_limit) +try: + conn.connect() + ssn = conn.session() + rcv = ssn.receiver(addr) -count = 0 -while not opts.count or count < opts.count: - try: - msg = rcv.fetch(timeout=timeout) - print opts.format % Formatter(msg) - count += 1 - ssn.acknowledge() - except Empty: - break - except ReceiveError, e: - print e - break + count = 0 + while not opts.count or count < opts.count: + try: + msg = rcv.fetch(timeout=timeout) + print opts.format % Formatter(msg) + count += 1 + ssn.acknowledge() + except Empty: + break + except ReceiveError, e: + print e + break +except KeyboardInterrupt: + pass conn.close() |