From 4b53cf9bd4fba7a1a8faf12cb82a0fbad9ea74bb Mon Sep 17 00:00:00 2001 From: Stephen Kestle Date: Fri, 14 Mar 2025 19:40:53 +1300 Subject: [PATCH] Added clarity about task operators being re-created for deferred execution. --- task-sdk/src/airflow/sdk/definitions/baseoperator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/task-sdk/src/airflow/sdk/definitions/baseoperator.py b/task-sdk/src/airflow/sdk/definitions/baseoperator.py index b02eff27efb7a..00050df549ce1 100644 --- a/task-sdk/src/airflow/sdk/definitions/baseoperator.py +++ b/task-sdk/src/airflow/sdk/definitions/baseoperator.py @@ -1547,6 +1547,8 @@ def defer( ) -> NoReturn: """ Mark this Operator "deferred", suspending its execution until the provided trigger fires an event. + When resumed, a new instance of this Operator will be created to continue execution - any local state + will be lost. This is achieved by raising a special exception (TaskDeferred) which is caught in the main _execute_task wrapper. Triggers can send execution back to task or end