perago.TaskControls#

class perago.TaskControls(*, retry=<factory>, timeout=<factory>, limits=<factory>, publish_budget=None)[源代码]#

Task-level controls consumed by TaskDef generation and runtime code.

TaskControls is the only public entry point for retry, timeout, execution limit, and publish budget controls. Task authors pass it to perago.task(); Perago expands the supported fields into the generated Conductor TaskDef.

Parameters:
retryRetryPolicy, optional

Retry controls. Defaults to RetryPolicy().

timeoutTimeoutPolicy, optional

General timeout controls. Defaults to TimeoutPolicy().

limitsExecutionLimits, optional

Optional concurrency and rate-limit controls. Defaults to ExecutionLimits().

publish_budgetPublishBudget or None, default=None

Workspace publication budget. Only workspace tasks may configure it.

Attributes:
response_timeout_secondsint

Alias for timeout.response_seconds; publish_budget does not override it.

参数:

Examples

>>> TaskControls(
...     retry=RetryPolicy(count=4),
...     timeout=TimeoutPolicy(response_seconds=900),
...     limits=ExecutionLimits(concurrent_exec_limit=2),
... )
TaskControls(...)

Attributes

response_timeout_seconds

Alias for timeout.response_seconds; publish_budget does not override it.

retry

timeout

limits

publish_budget