pedro-cf opened a new issue, #69699: URL: https://github.com/apache/airflow/issues/69699
### Description Add a deployment-wide global pause toggle (UI, REST API, and CLI) that makes the scheduler treat every DAG as paused without changing any DAG's stored `is_paused` value. While global pause is enabled: - The scheduler schedules no new DAG runs. - The scheduler schedules no new tasks. - Per-DAG `is_paused` in the metadata DB stays untouched. When global pause is disabled: - Each DAG immediately returns to its previous behavior based on its own `is_paused` state. - No restore step and no tracking of which DAGs were paused before. This is a scheduler-level override, not bulk pause/unpause of individual DAGs. The UI should show when global pause is active. Per-DAG pause toggles should still reflect each DAG's real `is_paused` value (not the effective scheduling state), so operators can see which DAGs were already paused before the freeze. ### Use case/motivation We need a way to freeze an entire Airflow deployment for operational work (upgrades, migrations, incident response) without losing per-DAG pause state. Pausing every DAG individually overwrites `is_paused` and makes it hard to restore the previous mix of paused and active DAGs on large deployments. Suspend/resume style approaches that mutate `is_paused` and restore later have the same problem. Typical scenario: a deployment with many DAGs, some intentionally paused and some active. An admin needs to stop all scheduling quickly, do maintenance, then release the freeze and have every DAG behave exactly as it did before. No custom restore script, no risk of unpausing DAGs that were paused on purpose. ### Related issues - https://github.com/apache/airflow/issues/36994 - https://github.com/apache/airflow/discussions/41247 - https://github.com/apache/airflow/issues/23337 - https://github.com/apache/airflow/discussions/23571 - https://github.com/apache/airflow/issues/36956 ### 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]
