wzhpor opened a new issue, #69599:
URL: https://github.com/apache/airflow/issues/69599
### Description
Add a non-terminal task instance state `paused` that lets an operator hold a
specific task instance mid-run and later resume it from the same point,
without failing it, without clearing it, and without occupying a worker slot.
Behaviour:
- `running` / `scheduled` / `queued` -> `paused` via UI, CLI or REST.
- `paused` -> `queued` on resume; try number and XComs preserved.
- Downstream tasks stay blocked while the task is `paused`; the DAG run stays
`running`.
- `paused` does not consume worker slots or pool slots (like `deferred`).
- Optional `pause_reason`, `paused_by`, and `resume_at` fields.
### Use case/motivation
Enterprise schedulers (UC4/Automic, Control-M, TWS) let an operator pause an
individual step when a downstream dependency is temporarily broken (DB down,
partner SFTP unavailable, maintenance window, ad-hoc manual check). Once the
issue is fixed out-of-band, the operator resumes the step and the workflow
continues without re-running upstream work.
In Airflow today the only options are:
1. Let the task fail and clear it later — re-runs work, burns retries, fires
failure alerts, breaks Deadline Alerts.
2. Keep it running and burn a worker slot for hours while ops fixes the
underlying issue.
3. Mark it success manually — loses the guarantee that the step actually ran.
Existing mechanisms don't cover the ad-hoc operational case:
- `dags pause` only stops **future** DAG runs.
- `deferred` requires operator-level code changes and a trigger.
- HITL / `awaiting_input` must be declared at DAG-authoring time; it can't be
applied to an arbitrary task that is already running.
- Zero-slot pools block new tasks but don't pause a running one.
### Related issues
_No response_
### Are you willing to submit a PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [x] I agree to follow this project's [Code of
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]