I've solved this (with help from the Qpid users mailing list).
As suspected, I needed to name the client connection. This is done by adding the following line of code before calling the connect method.
event.container.container_id = __file__
(NB I simply gave the connection the same name as the script)
Another gotcha was that the event.receiver.close() method, called once my script had processed all messages, destroys the durable subscription. To leave it in place after the script has ended, use event.receiver.detach() instead.
Mailing list thread here -> http://qpid.2158936.n2.nabble.com/Connecting-to-durable-consumer-Qpid-Proton-Python-td7659185.html
Answer from Jeremy Gooch on Stack OverflowApache Qpid
qpid.apache.org › releases › qpid-cpp-1.39.0 › messaging-api › book › ch01s15.html
1.15. Logging - Apache Qpid™
The Qpidd broker and C++ clients use QPID_LOG_OUTPUT to determine where logging output should be sent. This is either a file name or the special values stderr, stdout, or syslog: ... The Python client library supports logging using the standard Python logging module.
GitHub
github.com › nuagenetworks › AMQP-Client › blob › master › amqpClient.py
AMQP-Client/amqpClient.py at master · nuagenetworks/AMQP-Client · GitHub
##### python amqpClient.py test.log S1 amqp.properties -d -c · ########################################################################################################### · · import optparse · import os · import datetime · import time · import logging · import sys · import ConfigParser · import random · import uuid · · from proton.handlers import MessagingHandler,EndpointStateHandler ·
Author: nuagenetworks
Apache Qpid
qpid.apache.org › releases › qpid-proton-0.36.0 › proton › c › api › logging.html
Qpid Proton C API: Logging
Proton has always supported some control over its internal logging using environment variables. The one that has seen the most use is PN_TRACE_FRM which when set to '1', 'on' or 'true' turns on logging of protocol frame traces.
Red Hat
docs.redhat.com › en › documentation › red_hat_build_of_apache_qpid_proton_python › 0.40 › pdf › using_qpid_python › Red_Hat_build_of_Apache_Qpid_Proton_Python-0.40-Using_Qpid_Python-en-US.pdf pdf
Red Hat build of Apache Qpid Proton Python 0.40 Using Qpid Python
ProtonException class, which in turn inherits from the Python Exception class. The following example illustrates how to catch any exception thrown from Red Hat build of Apache Qpid ... ProtonException inherits from it. ... These event-handling functions are called whenever there is an error condition with the specific object · that is in the event. After calling the error handler, the appropriate close handler is also called. ... CHAPTER 10. ERROR HANDLING ... CHAPTER 11. LOGGING...
Apache
cwiki.apache.org › confluence › display › qpid › Proton+Logging
Proton Logging - Apache Qpid - Apache Software Foundation
June 25, 2013 - This page describes a proposed approach to Proton logging.
Apache Qpid
qpid.apache.org › releases › qpid-proton-0.37.0 › proton › python › examples › index.html
Proton Python Examples - Apache Qpid™
Apache Qpid, Messaging built on AMQP; Copyright © 2015 The Apache Software Foundation; Licensed under the Apache License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, Proton, Apache, the Apache feather logo, and the Apache Qpid project logo are trademarks of The Apache Software Foundation; All other marks mentioned may be trademarks or registered trademarks of their respective owners
Red Hat
docs.redhat.com › en › documentation › red_hat_build_of_apache_qpid_proton_dotnet › 1.0.0 › html › using_qpid_proton_dotnet › logging
Chapter 9. Logging | Using Qpid Proton DotNet | Red Hat build of Apache Qpid Proton DotNet | 1.0.0 | Red Hat Documentation
Using Qpid Proton DotNet · Chapter 9. Logging · Logging is important in troubleshooting and debugging. By default logging is turned off. To enable logging, you must set a logging level and provide a delegate function to receive the log messages. The library emits log traces at different levels: ...
Apache Qpid
qpid.apache.org › releases › qpid-python-1.37.0 › messaging-api › examples › drain.html
drain - Apache Qpid™
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 �fault)") 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", hel
Stack Overflow
stackoverflow.com › questions › 70098203 › how-to-use-proton-python-properly-to-receive-messages
How to use proton-python properly to receive messages - Stack Overflow
My configuration: Running qpidd on host: 192.168.80.81 with following exchanges (qpid-config exchanges): Type Exchange Name Attributes ================================================== ...
The Mail Archive
mail-archive.com › commits@qpid.apache.org › msg38911.html
[qpid-proton] branch master updated: PROTON-2131: Introduce new proton logging API - Converted all uses in the Proton core library to use the new API - Currently no higher language API bindings (Python/Ruby/C++) - This introduces some portable library infrastructure to globally initialise/ shutdown the library independent of it's clients.
November 8, 2019 - This is an automated email from the ASF dual-hosted git repository. astitcher pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-proton.git · The following commit(s) were added to refs/heads/master by this push: new 9dd0133 PROTON-2131: Introduce new proton logging API - Converted all uses in the Proton core library to use the new API - Currently no higher language API bindings (Python/Ruby/C++) - This introduces some portable library infrastructure to globally initialise/ shutdown the library independent of it's clients.
Apache Qpid
qpid.apache.org › releases › qpid-proton-0.40.0 › proton › python › docs › proton.html
Module proton — Qpid Proton Python API 0.40.0 documentation
DataException if there is a Proton error. ... A convenience method for encoding the contents of a Python dict as an AMQP map.
GitHub
github.com › apache › qpid-proton › blob › main › python › proton › _reactor.py
qpid-proton/python/proton/_reactor.py at main · apache/qpid-proton · GitHub
Mirror of Apache Qpid Proton. Contribute to apache/qpid-proton development by creating an account on GitHub.
Red Hat
docs.redhat.com › en › documentation › red_hat_enterprise_mrg › 3 › html › messaging_programming_reference › logging_in_python
17.2. Logging in Python | Messaging Programming Reference | Red Hat Enterprise MRG | 3 | Red Hat Documentation
The Python client library supports logging using the standard Python logging module. The basicConfig() logging method reports all warnings and errors: ... The qpidd daemon allows you to specify the level of logging desired.
Linux @ CERN
linux.web.cern.ch › mrg › 2 › Programming_in_Apache_Qpid
Programming in Apache Qpid
The Qpidd broker and C++ clients use QPID_LOG_OUTPUT to determine where logging output should be sent. This is either a file name or the special values stderr, stdout, or syslog: ... The Python client library supports logging using the standard Python logging module.
Googlesource
apache.googlesource.com › qpid-proton › + › a1ac0fb1f689f3164390cc040fd6c26feeb42a4e^2..a1ac0fb1f689f3164390cc040fd6c26feeb42a4e
Diff - a1ac0fb1f689f3164390cc040fd6c26feeb42a4e^2..a1ac0fb1f689f3164390cc040fd6c26feeb42a4e - qpid-proton - Git at Google
@@ -17,15 +17,10 @@ # under the License # -sudo: false -language: cpp - -matrix: +jobs: include: - os: linux - dist: bionic dist: xenial - sudo: true language: cpp compiler: gcc env: @@ -37,37 +32,67 @@ env: - OPENSSL_ia32cap='0x00000000' # c-threaderciser test hangs on older clang + - QPID_PROTON_CMAKE_ARGS='-DENABLE_LINKTIME_OPTIMIZATION=OFF' - QPID_PROTON_CTEST_ARGS="--exclude-regex 'c-threaderciser'" - - os: linux - dist: bionic - sudo: true - compiler: - - gcc + - name: static libs + os: linux + dist: focal + language: cpp + compiler: gcc env: + - PYTHON=python3 + - QPID_PROTON_CMAKE_ARGS
Apache Qpid
qpid.apache.org › releases › qpid-proton-0.39.0 › proton › python › docs › overview.html
API Overview — Qpid Proton Python API 0.39.0 documentation
A general purpose handler that makes the proton-c events somewhat simpler to deal with and/or avoids repetitive tasks for common use cases.