minos.networks.brokers.publishers.publishers module¶
- class minos.networks.brokers.publishers.publishers.BrokerPublisher(host, port, database, user, password, *args, **kwargs)[source]¶
 Bases:
minos.networks.brokers.publishers.abc.BrokerPublisherSetupBroker Publisher class.
- __init__(host, port, database, user, password, *args, **kwargs)¶
 
- property already_destroyed: bool¶
 Already Destroy getter.
- Return type
 bool- Returns
 A boolean value.
- property already_setup: bool¶
 Already Setup getter.
- Return type
 bool- Returns
 A boolean value.
- cursor(*args, **kwargs)¶
 Get a new cursor.
- Parameters
 args – Additional positional arguments.
kwargs – Additional named arguments.
- Return type
 typing.AsyncContextManager[aiopg.connection.Cursor]- Returns
 A Cursor wrapped into an asynchronous context manager.
- async destroy()¶
 Destroy miscellaneous repository things.
- Return type
 None- Returns
 This method does not return anything.
- async enqueue(topic, strategy, raw)[source]¶
 Send a sequence of bytes to the given topic.
- Parameters
 topic (
str) – Topic in which the bytes will be send.strategy (
minos.networks.brokers.messages.BrokerMessageStrategy) – The publishing strategy.raw (
bytes) – Bytes sequence to be send.
- Return type
 int- Returns
 The identifier of the message in the queue.
- classmethod from_config(config=None, **kwargs)¶
 Build a new instance from config.
- Parameters
 config (
typing.Union[minos.common.configuration.config.MinosConfig,pathlib.Path,None]) – Config instance. If None is provided, default config is chosen.kwargs – Additional named arguments.
- Return type
 ~S
- Returns
 A instance of the called class.
- locked_cursor(key, *args, **kwargs)¶
 Get a new locked cursor.
- Parameters
 key (
collections.abc.Hashable) – The key to be used for locking.args – Additional positional arguments.
kwargs – Additional named arguments.
- Return type
 typing.AsyncContextManager[aiopg.connection.Cursor]- Returns
 A Cursor wrapped into an asynchronous context manager.
- property pool: minos.common.database.pools.PostgreSqlPool¶
 Get the connections pool.
- Return type
 minos.common.database.pools.PostgreSqlPool- Returns
 A
Poolobject.
- async send(data, topic, *, identifier=None, reply_topic=None, user=None, status=BrokerMessageStatus.SUCCESS, strategy=BrokerMessageStrategy.UNICAST, headers=None, **kwargs)[source]¶
 Send a
BrokerMessage.- Parameters
 data (
typing.Any) – The data to be send.topic (
str) – Topic in which the message will be published.identifier (
typing.Optional[uuid.UUID]) – The identifier of the message.reply_topic (
typing.Optional[str]) – An optional topic name to wait for a response.user (
typing.Optional[uuid.UUID]) – The user identifier that send the message.status (
minos.networks.brokers.messages.BrokerMessageStatus) – The status code of the message.strategy (
minos.networks.brokers.messages.BrokerMessageStrategy) – The publishing strategy.headers (
typing.Optional[dict[str,str]]) – A mapping of string values identified by a string key.kwargs – Additional named arguments.
- Return type
 uuid.UUID- Returns
 The
UUIDidentifier of the message.
- async setup()¶
 Setup miscellaneous repository things.
- Return type
 None- Returns
 This method does not return anything.
- async submit_query(operation, parameters=None, *, timeout=None, lock=None, **kwargs)¶
 Submit a SQL query.
- Parameters
 operation (
typing.Any) – Query to be executed.parameters (
typing.Optional[typing.Any]) – Parameters to be projected into the query.timeout (
typing.Optional[float]) – An optional timeout.lock (
typing.Optional[typing.Any]) – Optional key to perform the query with locking. If not set, the query is performed without any lock.kwargs – Additional named arguments.
- Return type
 None- Returns
 This method does not return anything.
- async submit_query_and_fetchone(*args, **kwargs)¶
 Submit a SQL query and gets the first response.
- Parameters
 args – Additional positional arguments.
kwargs – Additional named arguments.
- Return type
 tuple- Returns
 This method does not return anything.
- async submit_query_and_iter(operation, parameters=None, *, timeout=None, lock=None, streaming_mode=False, **kwargs)¶
 Submit a SQL query and return an asynchronous iterator.
- Parameters
 operation (
typing.Any) – Query to be executed.parameters (
typing.Optional[typing.Any]) – Parameters to be projected into the query.timeout (
typing.Optional[float]) – An optional timeout.lock (
typing.Optional[int]) – Optional key to perform the query with locking. If not set, the query is performed without any lock.streaming_mode (
bool) – IfTruethe data fetching is performed in streaming mode, that is iterating over the cursor and yielding once a time (requires an opening connection to do that). Otherwise, all the data is fetched and keep in memory before yielding it.kwargs – Additional named arguments.
- Return type
 typing.AsyncIterator[tuple]- Returns
 This method does not return anything.