shivaam commented on code in PR #75428:
URL: https://github.com/apache/airflow/pull/75428#discussion_r4354816255


##########
airflow-core/docs/img/diagram_task_lifecycle.py:
##########
@@ -178,15 +178,15 @@ def generate_task_lifecycle_diagram():
         cond_scheduled_skip >> Edge(label="NO") >> cond_task_def_existence
         (cond_scheduled_skip >> Edge(label="YES") >> state_skipped,)
         (cond_task_def_existence >> Edge(label="NO") >> state_removed,)
-        (cond_task_def_existence >> Edge(label="YES") >> state_scheduled,)
+        (cond_task_def_existence >> Edge(label="YES") >> cond_trigger_task_1,)
         state_removed >> cond_task_restore
         cond_task_restore >> Edge(label="NO") >> state_removed
         cond_task_restore >> Edge(label="YES") >> state_none
-        state_scheduled >> component_executor >> state_queued >> 
cond_trigger_task_1
-        cond_trigger_task_1 >> Edge(label="NO") >> component_worker
+        cond_trigger_task_1 >> Edge(label="NO") >> state_scheduled
         cond_trigger_task_1 >> Edge(label="YES") >> component_triggerer
+        state_scheduled >> component_executor >> state_queued >> 
component_worker
         component_triggerer >> state_deferred >> cond_trigger_task_2
-        cond_trigger_task_2 >> Edge(label="NO") >> component_scheduler
+        cond_trigger_task_2 >> Edge(label="NO") >> state_scheduled

Review Comment:
   Good catch, done in c34822449c8. The `awaiting_input` arrow now points at 
`scheduled` as well, so both resume paths read the same.
   
   ---
   Drafted-by: Claude Code (Opus 5.5); reviewed by @shivaam before posting
   



##########
airflow-core/docs/img/diagram_task_lifecycle.py:
##########
@@ -178,15 +178,15 @@ def generate_task_lifecycle_diagram():
         cond_scheduled_skip >> Edge(label="NO") >> cond_task_def_existence
         (cond_scheduled_skip >> Edge(label="YES") >> state_skipped,)
         (cond_task_def_existence >> Edge(label="NO") >> state_removed,)
-        (cond_task_def_existence >> Edge(label="YES") >> state_scheduled,)
+        (cond_task_def_existence >> Edge(label="YES") >> cond_trigger_task_1,)
         state_removed >> cond_task_restore
         cond_task_restore >> Edge(label="NO") >> state_removed
         cond_task_restore >> Edge(label="YES") >> state_none
-        state_scheduled >> component_executor >> state_queued >> 
cond_trigger_task_1
-        cond_trigger_task_1 >> Edge(label="NO") >> component_worker
+        cond_trigger_task_1 >> Edge(label="NO") >> state_scheduled
         cond_trigger_task_1 >> Edge(label="YES") >> component_triggerer
+        state_scheduled >> component_executor >> state_queued >> 
component_worker
         component_triggerer >> state_deferred >> cond_trigger_task_2
-        cond_trigger_task_2 >> Edge(label="NO") >> component_scheduler
+        cond_trigger_task_2 >> Edge(label="NO") >> state_scheduled
         cond_trigger_task_2 >> Edge(label="YES") >> cond_task_complete_1

Review Comment:
   Agreed, relabelled in c34822449c8. This one now reads "Trigger ends the 
task? (end_from_trigger)" and the first one "Starts in the triggerer? 
(start_from_trigger)", so a `start_from_trigger` sensor without 
`end_from_trigger` answers NO here and goes back through `scheduled` to a 
worker.
   
   ---
   Drafted-by: Claude Code (Opus 5.5); reviewed by @shivaam before posting
   



-- 
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