Lothnic opened a new pull request, #72559:
URL: https://github.com/apache/airflow/pull/72559
Deadline alerts could only be declared on the Dag, so a run whose tasks have
very different expected completion times got a single need-by time: a task
stuck at the start of the pipeline only surfaced when the whole run was about
to breach its deadline. execution_timeout answers a different question (how
long may a task run), so there was no way to express "this task must be done by
01:00" independently of how long it takes.
Any operator now accepts `deadline=DeadlineAlert(...)` alongside the
Dag-level deadline. Each task instance gets its own Deadline row at Dag run
creation (or, for mapped tasks, at expansion time), evaluated independently by
the existing scheduler miss loop: a task that finishes before its need-by time
has its row deleted without a callback, one still running past it fires the
callback with task_instance in the context. A Dag can use Dag-level deadlines,
task-level deadlines, or both.
Docs: new "Task-level Deadlines" section in `docs/howto/deadline-alerts.rst`.
Database: new migration `0134_3_4_0` adding `deadline.task_instance_id`.
closes: #72519
<!-- SPDX-License-Identifier: Apache-2.0
https://www.apache.org/licenses/LICENSE-2.0 -->
---
##### Was generative AI tooling used to co-author this PR?
<!--
If generative AI tooling has been used in the process of authoring this PR,
please
change below checkbox to `[X]` followed by the name of the tool, uncomment
the "Generated-by".
-->
- [x] Yes (please specify the tool below)
Generated-by: [ClaudeCode] following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions),
Reviewed before PR.
---
* Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
for more information. Note: commit author/co-author name and email in commits
become permanently public when merged.
* For fundamental code changes, an Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
is needed.
* When adding dependency, check compliance with the [ASF 3rd Party License
Policy](https://www.apache.org/legal/resolved.html#category-x).
* For significant user-facing changes create newsfragment:
`{pr_number}.significant.rst`, in
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
You can add this file in a follow-up commit after the PR is created so you
know the PR number.
--
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]