perago.ExecutionLimits#

class perago.ExecutionLimits(*, concurrent_exec_limit=None, rate_limit_frequency_in_seconds=None, rate_limit_per_frequency=None)[源代码]#

Optional execution and rate-limit controls for a TaskDef.

ExecutionLimits maps to Conductor concurrency and rate limit fields. None values are omitted from the generated TaskDef.

Parameters:
concurrent_exec_limitint or None, default=None

Optional value written as concurrentExecLimit.

rate_limit_frequency_in_secondsint or None, default=None

Optional rate-limit window written as rateLimitFrequencyInSeconds. Must be configured together with rate_limit_per_frequency.

rate_limit_per_frequencyint or None, default=None

Optional rate-limit count written as rateLimitPerFrequency. Must be configured together with rate_limit_frequency_in_seconds.

Raises:
TaskDefinitionError

If only one side of the rate-limit pair is configured.

参数:
  • concurrent_exec_limit (Annotated[int | None, Ge(ge=0)])

  • rate_limit_frequency_in_seconds (Annotated[int | None, Ge(ge=0)])

  • rate_limit_per_frequency (Annotated[int | None, Ge(ge=0)])

Examples

>>> ExecutionLimits(concurrent_exec_limit=2)
ExecutionLimits(...)

Methods

validate_rate_limit_pair()

Validate that Conductor rate-limit fields are configured together.

Attributes

concurrent_exec_limit

rate_limit_frequency_in_seconds

rate_limit_per_frequency