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]

Reply via email to