def receive_from_durable_non_exclusive_queue(messaging_service, topic, publisher, message): """method to receive messages from durable non exclusive queue""" try: queue_name = constants.QUEUE_NAME_FORMAT.substitute( iteration=topic_name) HowToConsumeMessageExclusiveVsSharedMode.create_queue_and_add_topic( queue_name, access_type="non-exclusive") durable_non_exclusive_queue = Queue.durable_non_exclusive_queue( queue_name) receiver = HowToConsumeMessageExclusiveVsSharedMode \ .create_persistent_message_receiver(messaging_service, durable_non_exclusive_queue) message_receiver = BasicTestMessageHandler() receiver.receive_async(message_receiver) HowToPublishPersistentMessage.publish_string_message_non_blocking( publisher, topic, message) time.sleep(1) print( f'Message received count: {message_receiver.total_message_received_count}' ) finally: receiver.terminate(0) HowToConsumeMessageExclusiveVsSharedMode.delete_queue( queue_name)