prefect.concurrency
sync
prefect.concurrency.sync
Functions
concurrency
A context manager that acquires and releases concurrency slots from the given concurrency limits.
Args:
names
: The names of the concurrency limits to acquire slots from.occupy
: The number of slots to acquire and hold from each limit.timeout_seconds
: The number of seconds to wait for the slots to be acquired before raising aTimeoutError
. A timeout ofNone
will wait indefinitely.max_retries
: The maximum number of retries to acquire the concurrency slots.strict
: A boolean specifying whether to raise an error if the concurrency limit does not exist. Defaults toFalse
.
Raises:
TimeoutError
: If the slots are not acquired within the given timeout.ConcurrencySlotAcquisitionError
: If the concurrency limit does not exist andstrict
isTrue
.
Example:
A simple example of using the sync concurrency
context manager:
rate_limit
Block execution until an occupy
number of slots of the concurrency
limits given in names
are acquired. Requires that all given concurrency
limits have a slot decay.
Args:
names
: The names of the concurrency limits to acquire slots from.occupy
: The number of slots to acquire and hold from each limit.timeout_seconds
: The number of seconds to wait for the slots to be acquired before raising aTimeoutError
. A timeout ofNone
will wait indefinitely.strict
: A boolean specifying whether to raise an error if the concurrency limit does not exist. Defaults toFalse
.
Raises:
TimeoutError
: If the slots are not acquired within the given timeout.ConcurrencySlotAcquisitionError
: If the concurrency limit does not exist andstrict
isTrue
.