perago.TaskControls#
- class perago.TaskControls(*, retry=<factory>, timeout=<factory>, limits=<factory>, publish_budget=None)[源代码]#
Task-level controls consumed by TaskDef generation and runtime code.
TaskControlsis the only public entry point for retry, timeout, execution limit, and publish budget controls. Task authors pass it toperago.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_secondsintAlias for timeout.response_seconds; publish_budget does not override it.
- 参数:
retry (RetryPolicy)
timeout (TimeoutPolicy)
limits (ExecutionLimits)
publish_budget (PublishBudget | None)
Examples
>>> TaskControls( ... retry=RetryPolicy(count=4), ... timeout=TimeoutPolicy(response_seconds=900), ... limits=ExecutionLimits(concurrent_exec_limit=2), ... ) TaskControls(...)
Attributes
response_timeout_secondsAlias for timeout.response_seconds; publish_budget does not override it.
retrytimeoutlimitspublish_budget