minos.saga.executions.repositories.database.impl

Classes

DatabaseSagaExecutionRepository

Saga Execution Storage class.

class DatabaseSagaExecutionRepository[source]

Bases: SagaExecutionRepository, DatabaseMixin[SagaExecutionDatabaseOperationFactory]

Saga Execution Storage class.

__init__(*args, database_key=None, **kwargs)[source]
Parameters

database_key (Optional[tuple[str]]) –

property already_destroyed: bool

Already Destroy getter.

Returns

A boolean value.

property already_setup: bool

Already Setup getter.

Returns

A boolean value.

property database_client_cls: type[minos.common.database.clients.abc.DatabaseClient]

Get the client’s class.

Returns

A type instance that is subclass of DatabaseClient.

property database_operation_factory: Optional[minos.common.database.mixins.GenericDatabaseOperationFactory]

Get the operation factory if any.

Returns

A OperationFactory if it has been set or None otherwise.

property database_pool: minos.common.database.pools.DatabaseClientPool

Get the database pool.

Returns

A DatabaseClientPool object.

async delete(uuid)

Delete the reference of the given key.

Parameters

uuid (Union[SagaExecution, str, UUID]) – Execution key to be deleted.

Returns

This method does not return anything.

Return type

None

async destroy()

Destroy miscellaneous repository things.

Returns

This method does not return anything.

Return type

None

async execute_on_database(operation)

Submit an Operation.

Parameters

operation (DatabaseOperation) – The operation to be executed.

Returns

This method does not return anything.

Return type

None

async execute_on_database_and_fetch_all(operation, streaming_mode=None)

Submit an Operation and return an asynchronous iterator.

Parameters
  • operation (DatabaseOperation) – The operation to be executed.

  • streaming_mode (Optional[bool]) – If True return the values in streaming directly from the database (keep an open database connection), otherwise preloads the full set of values on memory and then retrieves them.

Returns

This method does not return anything.

Return type

AsyncIterator[tuple]

async execute_on_database_and_fetch_one(operation)

Submit an Operation and get the first response.

Parameters

operation (DatabaseOperation) – The operation to be executed.

Returns

This method does not return anything.

Return type

Any

classmethod from_config(config=None, **kwargs)

Build a new instance from config.

Parameters
  • config (Optional[Union[Config, Path]]) – Config instance. If None is provided, default config is chosen.

  • kwargs – Additional named arguments.

Returns

A instance of the called class.

Return type

S

async load(uuid)

Load the saga execution stored on the given key.

Parameters

uuid (Union[str, UUID]) – The key to identify the execution.

Returns

A SagaExecution instance.

Return type

SagaExecution

async setup()

Setup miscellaneous repository things.

Returns

This method does not return anything.

Return type

None

async store(execution)

Store an execution.

Parameters

execution (SagaExecution) – Execution to be stored.

Returns

This method does not return anything.

Return type

None