jaklan commented on PR #40915: URL: https://github.com/apache/airflow/pull/40915#issuecomment-2322793615
Hi, just to put my 2 cents - I was just reading the docs for both modes: > soft_fail ([bool](https://docs.python.org/3/library/functions.html#bool)) – Set to true to mark the task as SKIPPED on failure. Mutually exclusive with never_fail. > never_fail ([bool](https://docs.python.org/3/library/functions.html#bool)) – If true, and poke method raises an exception, sensor will be skipped. Mutually exclusive with soft_fail. and tbh - I still understand nothing. It seems like `soft_fail` is related to both `poke` and `reschedule` methods, and `never_fail` only to the `poke` one, but except of that - it's extremely confusing what's the actual difference between `failure` (failure of sensor? failure of monitored task?) and `exception` in that context. [Astro docs](https://www.astronomer.io/docs/learn/what-is-a-sensor#sensor-failure-modes) make it even more confusing as they refer to `exception` in both descriptions: > soft_fail=True: If an exception is raised within the task, it is marked as skipped, affecting downstream tasks according to their defined [trigger rules](https://www.astronomer.io/docs/learn/airflow-trigger-rules). > never_fail=True: (Airflow 2.10+) If the poke method raises any exception, the sensor task is skipped. This parameter is mutually exclusive with soft_fail. -- 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]
