josh-fell commented on a change in pull request #17421:
URL: https://github.com/apache/airflow/pull/17421#discussion_r690337852



##########
File path: airflow/operators/python.py
##########
@@ -185,16 +185,27 @@ def execute(self, context: Dict):
 class ShortCircuitOperator(PythonOperator, SkipMixin):
     """
     Allows a workflow to continue only if a condition is met. Otherwise, the
-    workflow "short-circuits" and downstream tasks are skipped.
+    workflow "short-circuits" and downstream tasks are skipped. The 
short-circuiting can be configured to
+    perform a "hard" or "soft" short.  In a "hard short", all downstream tasks 
are skipped without considering
+    the ``trigger_rule`` defined for tasks.  In "soft short", the 
``trigger_rule`` is respected.
 
     The ShortCircuitOperator is derived from the PythonOperator. It evaluates a
     condition and short-circuits the workflow if the condition is False. Any
-    downstream tasks are marked with a state of "skipped". If the condition is
-    True, downstream tasks proceed as normal.
+    downstream tasks are marked with a state of "skipped" based on the 
short-circuiting mode configured. If
+    the condition is True, downstream tasks proceed as normal.
 
-    The condition is determined by the result of `python_callable`.
+    The condition is determined by the result of ``python_callable``.
+
+    :param do_hard_short: If `True`, all downstream tasks from this operator 
task will be skipped.  This is
+        the default behavior.  If set to `False`, downstream tasks will be 
skipped but the ``trigger_rule``
+        defined for a task will be respected.
+    :type do_hard_short: bool
     """
 
+    def __init__(self, *, do_hard_short: bool = True, **kwargs) -> None:
+        super().__init__(**kwargs)
+        self.do_hard_short = do_hard_short

Review comment:
       Excellent, this is where I definitely wanted some feedback; been 
wavering on naming here. I like `mode`. I'll update. Thanks as always!




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