pynenc_rabbitmq.util.rabbitmq_client

Simple RabbitMQ client for Pynenc.

Module Contents

Classes

PynencRabbitMqClient

RabbitMQ client for sending and receiving strings.

API

class pynenc_rabbitmq.util.rabbitmq_client.PynencRabbitMqClient(conf: pynenc_rabbitmq.conf.config_rabbitmq.ConfigRabbitMq)[source]

RabbitMQ client for sending and receiving strings.

Thread-safe singleton per configuration. Uses thread-local connections internally.

Initialization

_instances: dict[str, pynenc_rabbitmq.util.rabbitmq_client.PynencRabbitMqClient]

None

_lock

‘RLock(…)’

_configure_pika_logging() None[source]

Configure pika library logging level based on configuration.

classmethod get_instance(conf: pynenc_rabbitmq.conf.config_rabbitmq.ConfigRabbitMq) pynenc_rabbitmq.util.rabbitmq_client.PynencRabbitMqClient[source]

Get or create a singleton instance for the given configuration.

One instance per configuration, but each thread gets its own connection.

Parameters:

conf – RabbitMQ configuration

Returns:

Singleton client instance for this configuration

static _get_connection_key(conf: pynenc_rabbitmq.conf.config_rabbitmq.ConfigRabbitMq) str[source]

Generate a unique connection key based on configuration.

get_queue(queue_name: str) pynenc_rabbitmq.util.rabbitmq_queue_mng.QueueManager[source]

Get a queue manager for the specified queue.

Parameters:

queue_name – Name of the queue

Returns:

Queue manager instance

close() None[source]

Close the thread-local connection for current thread.