minos.networks.brokers.publishers.producers module¶
- class minos.networks.brokers.publishers.producers.BrokerProducer(*args, broker_host, broker_port, retry, records, client=None, consumer=<dependency_injector.wiring.Provide object>, **kwargs)[source]¶
Bases:
minos.networks.brokers.publishers.abc.BrokerPublisherSetup
Broker Producer class.
- __init__(*args, broker_host, broker_port, retry, records, client=None, consumer=<dependency_injector.wiring.Provide object>, **kwargs)[source]¶
- 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.
- property client: aiokafka.producer.producer.AIOKafkaProducer¶
Get the client instance.
- Return type
aiokafka.producer.producer.AIOKafkaProducer
- Returns
An
AIOKafkaProducer
instance.
- 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 dispatch(cursor=None)[source]¶
Dispatch the items in the publishing queue.
- Return type
None
- Returns
This method does not return anything.
- async dispatch_forever(max_wait=60.0)[source]¶
Dispatch the items in the publishing queue forever.
- Parameters
max_wait (
typing.Optional
[float
]) – Maximum seconds to wait for notifications. IfNone
the wait is performed until infinity.- Return type
typing.NoReturn
- Returns
This method does not return anything.
- async dispatch_one(row)[source]¶
Dispatch one row.
- Parameters
row (
tuple
) – A row containing the message information.- Return type
bool
- Returns
True
if everything was fine orFalse
otherwise.
- 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
Pool
object.
- async publish(topic, message)[source]¶
Publish a new item in the broker (kafka).
- Parameters
topic (
str
) – The topic in which the message will be published.message (
bytes
) – The message to be published.
- Return type
bool
- Returns
A boolean flag,
True
when the message is properly published orFalse
otherwise.
- 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
) – IfTrue
the 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.