Alright so, there's a PR for this.
https://github.com/apache/airflow/pull/54284

What it does is add last_queueing_decision to TaskInstance, and it is
updated for every TI that comes out of the query in
`_executable_task_instances_to_queued` which cannot be queued.

Then on subsequent scheduling loops, such TIs would go to the bottom of the
list.

I remove all the other "starved ____" logic, which did some confusing
looping and conditionally added to the query filters.  I think with the
sorting approach, we shouldn't really need any of that.





On Fri, Aug 8, 2025 at 12:15 PM Daniel Standish <
daniel.stand...@astronomer.io> wrote:

> I think it will be very beneficial to remove last_scheduling_decision from
>> dag_run. With a DAG having dynamic task group with hundreds of dynamic
>> tasks, each update to dag_run for each dynamic task seems redundant
>>
>
> Some confusion here I think.
>
> 1. last_scheduling_decision serves a different purpose.  It is for the
> scheduling process, not the queueing process. Not proposing any changes to
> that.
> 2. if we added a last_queueing_decision to DR, we could update it just
> once per loop.  but i'm proceeding with something on the TI for now.
>
>
>

Reply via email to