minos.common.locks

Classes

Lock

Lock base class.

LockPool

Lock Pool class.

class Lock[source]

Bases: ABC

Lock base class.

__init__(key, *args, **kwargs)[source]
Parameters

key (Hashable) –

key: collections.abc.Hashable
abstract async acquire()[source]

Acquire the lock.

Returns

This method does not return anything.

Return type

None

abstract async release()[source]

Release the lock.

Returns

This method does not return anything.

hashed_key

Get the hashed key.

Returns

An integer value.

class LockPool[source]

Bases: Pool[Lock], ABC

Lock Pool class.

__init__(*args, already_setup=True, **kwargs)
Parameters

already_setup (bool) –

acquire(*args, **kwargs)

Acquire a new instance wrapped on an asynchronous context manager.

Parameters
  • args – Additional positional arguments.

  • kwargs – Additional named arguments.

Returns

An asynchronous context manager.

Return type

AsyncContextManager[P]

property already_destroyed: bool

Already Destroy getter.

Returns

A boolean value.

property already_setup: bool

Already Setup getter.

Returns

A boolean value.

async close(timeout=None)
Parameters

timeout (Optional[Union[int, float]]) –

Return type

None

async destroy()

Destroy miscellaneous repository things.

Returns

This method does not return anything.

Return type

None

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 setup()

Setup miscellaneous repository things.

Returns

This method does not return anything.

Return type

None