-

lock#

+

lock¶

-exception LockedResourceError(resource_type, resource_id)[source]#
+exception LockedResourceError(resource_type, resource_id)[source]¶

Bases: RuntimeError

Exception raised when an operation is attempted on a locked resource.

-type[source]#
+type[source]¶

Name of the locked resource’s type

Type:
@@ -409,7 +409,7 @@
-id[source]#
+id[source]¶

ID of the locked resource

Type:
@@ -420,38 +420,38 @@
-__init__(resource_type, resource_id)[source]#
+__init__(resource_type, resource_id)[source]¶
-class SharedEvent[source]#
+class SharedEvent[source]¶

Bases: object

Context manager managing an internal event exposed through the wait coro.

While any code is executing in this context manager, the underlying event will not be set; when all of the holders finish the event will be set.

-__enter__()[source]#
+__enter__()[source]¶

Increment the count of the active holders and clear the internal event.

-__exit__(_exc_type, _exc_val, _exc_tb)[source]#
+__exit__(_exc_type, _exc_val, _exc_tb)[source]¶

Decrement the count of the active holders; if 0 is reached set the internal event.

-__init__()[source]#
+__init__()[source]¶
-async wait()[source]#
+async wait()[source]¶

Wait for all active holders to exit.

Return type:
@@ -464,7 +464,7 @@ when all of the holders finish the event will be set.

-lock(namespace, resource_id, *, raise_error=False, wait=False)[source]#
+lock(namespace, resource_id, *, raise_error=False, wait=False)[source]¶

Turn the decorated coroutine function into a mutually exclusive operation on a resource_id.

If decorating a command, this decorator must go before (below) the command decorator.

@@ -491,7 +491,7 @@ and return None.

-lock_arg(namespace, name_or_pos, func=None, *, raise_error=False, wait=False)[source]#
+lock_arg(namespace, name_or_pos, func=None, *, raise_error=False, wait=False)[source]¶

Apply the lock decorator using the value of the arg at the given name/position as the ID.

See lock docs for more information.

@@ -589,7 +589,7 @@ and return None.

- + -- cgit v1.2.3