From e125a6217f854f145f266f774741b9a654d60c2a Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Sun, 11 Oct 2009 16:59:06 +0000 Subject: added ping and drain examples for the new API git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@824108 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 62 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 qpid/python/examples/api/drain (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain new file mode 100755 index 0000000000..485985f16d --- /dev/null +++ b/qpid/python/examples/api/drain @@ -0,0 +1,62 @@ +#!/usr/bin/env python +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +import optparse +from qpid.messaging import * +from qpid.util import URL + +parser = optparse.OptionParser(usage="usage: %prog [options] ADDRESS ...", + description="Drain messages from the supplied address.") +parser.add_option("-b", "--broker", default="localhost", + help="connect to specified BROKER (default %default)") +parser.add_option("-t", "--timeout", type=float, default=0, + help="timeout in seconds to wait before exiting (default %default)") +parser.add_option("-f", "--forever", action="store_true", + help="ignore timeout and wait forever") + +opts, args = parser.parse_args() + +url = URL(opts.broker) +if args: + addr = args.pop(0) +else: + parser.error("address is required") +if opts.forever: + timeout = None +else: + timeout = opts.timeout + +# 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) +ssn = conn.session() +rcv = ssn.receiver(addr) + +while True: + try: + print rcv.fetch(timeout=timeout) + ssn.acknowledge() + except Empty: + break + except ReceiveError, e: + print e + break + +conn.close() -- cgit v1.2.1 From e651a3846f8d610201e6e81f59e225bbfd8b6e7b Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Fri, 29 Jan 2010 21:41:46 +0000 Subject: added reconnect_delay, reconnect_limit, and backups option to Connection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@904634 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index 485985f16d..ef1f050c8c 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -21,18 +21,32 @@ import optparse from qpid.messaging import * from qpid.util import URL +from qpid.log import enable, DEBUG, WARN parser = optparse.OptionParser(usage="usage: %prog [options] ADDRESS ...", description="Drain messages from the supplied address.") parser.add_option("-b", "--broker", default="localhost", help="connect to specified BROKER (default %default)") +parser.add_option("-r", "--reconnect", action="store_true", + help="enable auto reconnect") +parser.add_option("-d", "--reconnect-delay", type=float, default=3, + help="delay between reconnect attempts") +parser.add_option("-l", "--reconnect-limit", type=int, + help="maximum number of reconnect attempts") parser.add_option("-t", "--timeout", type=float, default=0, help="timeout in seconds to wait before exiting (default %default)") parser.add_option("-f", "--forever", action="store_true", help="ignore timeout and wait forever") +parser.add_option("-v", dest="verbose", action="store_true", + help="enable logging") opts, args = parser.parse_args() +if opts.verbose: + enable("qpid", DEBUG) +else: + enable("qpid", WARN) + url = URL(opts.broker) if args: addr = args.pop(0) @@ -45,7 +59,11 @@ else: # 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) + 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) -- cgit v1.2.1 From 7dc632ea602acd17665ae4e64008da555d095f10 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Sat, 13 Feb 2010 13:02:06 +0000 Subject: added count and print formatting options to drain git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@909810 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index ef1f050c8c..a852d29de7 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -27,6 +27,10 @@ parser = optparse.OptionParser(usage="usage: %prog [options] ADDRESS ...", description="Drain messages from the supplied address.") parser.add_option("-b", "--broker", default="localhost", help="connect to specified BROKER (default %default)") +parser.add_option("-c", "--count", type=int, + help="number of messages to drain") +parser.add_option("-f", "--forever", action="store_true", + help="ignore timeout and wait forever") parser.add_option("-r", "--reconnect", action="store_true", help="enable auto reconnect") parser.add_option("-d", "--reconnect-delay", type=float, default=3, @@ -35,8 +39,8 @@ parser.add_option("-l", "--reconnect-limit", type=int, help="maximum number of reconnect attempts") parser.add_option("-t", "--timeout", type=float, default=0, help="timeout in seconds to wait before exiting (default %default)") -parser.add_option("-f", "--forever", action="store_true", - help="ignore timeout and wait forever") +parser.add_option("-p", "--print", dest="format", default="%(M)s", + help="format string for printing messages (default %default)") parser.add_option("-v", dest="verbose", action="store_true", help="enable logging") @@ -57,6 +61,17 @@ if opts.forever: else: timeout = opts.timeout +class Formatter: + + def __init__(self, message): + self.message = message + self.environ = {"M": self.message, + "P": self.message.properties, + "C": self.message.content} + + def __getitem__(self, st): + 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, @@ -67,9 +82,12 @@ conn = Connection.open(url.host, url.port or AMQP_PORT, ssn = conn.session() rcv = ssn.receiver(addr) -while True: +count = 0 +while not opts.count or count < opts.count: try: - print rcv.fetch(timeout=timeout) + msg = rcv.fetch(timeout=timeout) + print opts.format % Formatter(msg) + count += 1 ssn.acknowledge() except Empty: break -- cgit v1.2.1 From 02336adf2b3ce963fcd6db9ecb1cb6397ed2fc47 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Sat, 13 Feb 2010 13:24:52 +0000 Subject: handle Control-C git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@909811 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 44 +++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index a852d29de7..f2d7a50058 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/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() -- cgit v1.2.1 From 1f0c6b6661d511d5858e3755718750a5e6fc70f8 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Tue, 16 Feb 2010 03:48:44 +0000 Subject: changed sender/receiver to be synchronous by default when invoked on a connected session git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@910388 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index f2d7a50058..c244cbc09c 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -93,9 +93,8 @@ try: ssn.acknowledge() except Empty: break - except ReceiveError, e: - print e - break +except ReceiveError, e: + print e except KeyboardInterrupt: pass -- cgit v1.2.1 From 30ff4dcc85eaf5a2ea52cad9d965086c8062a4ce Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Wed, 31 Mar 2010 21:17:09 +0000 Subject: added SSL support to API git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@929717 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index c244cbc09c..d7ac03afa6 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -73,7 +73,7 @@ class Formatter: return eval(st, self.environ) # XXX: should make URL default the port for us -conn = Connection(url.host, url.port or AMQP_PORT, +conn = Connection(url.host, url.port, username=url.user, password=url.password, reconnect=opts.reconnect, -- cgit v1.2.1 From a807cbe0a5b732225f8a2f3a9a4357f0fe5a3ddd Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Thu, 1 Apr 2010 20:39:31 +0000 Subject: updated reconnect option names to match C++ API git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@930084 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index d7ac03afa6..372426c801 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -33,8 +33,8 @@ parser.add_option("-f", "--forever", action="store_true", help="ignore timeout and wait forever") parser.add_option("-r", "--reconnect", action="store_true", help="enable auto reconnect") -parser.add_option("-d", "--reconnect-delay", type=float, default=3, - help="delay between reconnect attempts") +parser.add_option("-i", "--reconnect-interval", type=float, default=3, + help="interval between reconnect attempts") parser.add_option("-l", "--reconnect-limit", type=int, help="maximum number of reconnect attempts") parser.add_option("-t", "--timeout", type=float, default=0, @@ -77,7 +77,7 @@ conn = Connection(url.host, url.port, username=url.user, password=url.password, reconnect=opts.reconnect, - reconnect_delay=opts.reconnect_delay, + reconnect_interval=opts.reconnect_interval, reconnect_limit=opts.reconnect_limit) try: conn.connect() -- cgit v1.2.1 From 5e0d449d9de02b4937747cc0b67cf50e62310b81 Mon Sep 17 00:00:00 2001 From: "Rafael H. Schloming" Date: Fri, 9 Apr 2010 10:54:07 +0000 Subject: Changes to connection lifecycle methods and Connection parameters: - Connection.open -> Connection.establish - Connection.connect() split into Connection.open(), Connection.attach() - Connection.disconnect() -> Connection.detach() - reconnect_hosts -> reconnect_urls - transport now takes tcp, ssl, and tcp+tls git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@932352 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index 372426c801..a2e40ec8a0 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -51,7 +51,6 @@ if opts.verbose: else: enable("qpid", WARN) -url = URL(opts.broker) if args: addr = args.pop(0) else: @@ -72,15 +71,12 @@ class Formatter: def __getitem__(self, st): return eval(st, self.environ) -# XXX: should make URL default the port for us -conn = Connection(url.host, url.port, - username=url.user, - password=url.password, +conn = Connection(opts.broker, reconnect=opts.reconnect, reconnect_interval=opts.reconnect_interval, reconnect_limit=opts.reconnect_limit) try: - conn.connect() + conn.open() ssn = conn.session() rcv = ssn.receiver(addr) -- cgit v1.2.1 From 0550140874c6dc9e0cdb132568d05b2bfe67449e Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 27 Apr 2010 16:37:38 +0000 Subject: correct name of exception to be caught git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@938550 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index a2e40ec8a0..eaf86f94ac 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -89,7 +89,7 @@ try: ssn.acknowledge() except Empty: break -except ReceiveError, e: +except ReceiverError, e: print e except KeyboardInterrupt: pass -- cgit v1.2.1 From 4f7efe697023e9b654e5ceef9648204a322ce779 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Wed, 9 Jun 2010 15:37:02 +0000 Subject: Minor adjustment to option definitions for Python 2.3 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@953044 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/examples/api/drain | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'qpid/python/examples/api/drain') diff --git a/qpid/python/examples/api/drain b/qpid/python/examples/api/drain index eaf86f94ac..5e30153bc2 100755 --- a/qpid/python/examples/api/drain +++ b/qpid/python/examples/api/drain @@ -27,17 +27,17 @@ parser = optparse.OptionParser(usage="usage: %prog [options] ADDRESS ...", description="Drain messages from the supplied address.") parser.add_option("-b", "--broker", default="localhost", help="connect to specified BROKER (default %default)") -parser.add_option("-c", "--count", type=int, +parser.add_option("-c", "--count", type="int", help="number of messages to drain") parser.add_option("-f", "--forever", action="store_true", help="ignore timeout and wait forever") parser.add_option("-r", "--reconnect", action="store_true", help="enable auto reconnect") -parser.add_option("-i", "--reconnect-interval", type=float, default=3, +parser.add_option("-i", "--reconnect-interval", type="float", default=3, help="interval between reconnect attempts") -parser.add_option("-l", "--reconnect-limit", type=int, +parser.add_option("-l", "--reconnect-limit", type="int", help="maximum number of reconnect attempts") -parser.add_option("-t", "--timeout", type=float, default=0, +parser.add_option("-t", "--timeout", type="float", default=0, help="timeout in seconds to wait before exiting (default %default)") parser.add_option("-p", "--print", dest="format", default="%(M)s", help="format string for printing messages (default %default)") -- cgit v1.2.1