Replies: 2 comments 2 replies
-
This is not a feature to be implemented easily - this is really a discussion idea. There are a lot of things to consider here- it's not only "state" but a lot of other things - UI, API, consequences. I personally believe this is a good idea to have but rather than merely a "feature", this calls for an entirely new Airflow Improvement Proposal https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals - that should describe the design, discuss edge cases, explain trade-offs and consequences and eventually seek consensus and voting on the Devlist as it ads entirely new flow to Airflow. BTW. You can - even now do it via adding a Sensor waitng for something (file on S3, or FTP. Database row value, etc. ). With Deferrable Operators you can even implement it efficiently using Triggerer and Async.io without spending resources on active IO. But then you would have to implement your own notifications and UI for the user to ttigger such manual events. So the scope of this "AIP" is really not about adding state but about all the UI and workflow changes to make such workflow (maybe) posiible to be managed vi Airflow UI. Maybe others will chime in here, but if you are really into it @cdabella - making a more detailed proposal /document with pros/cons/consequences, proposed UI changes etc. and sharing it on a devlist is a good thing. Or maybe someone else who will see it and pick an interest in it will do it. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Add
held
as a TaskInstanceState which functions similarly tofailed
but represents a stop in DAG execution that is known and planned.Use case/motivation
Many DAGs and pipelines have steps that require human intervention and sign-off before continuing, like manual data validation or manager approval before continuation. This can be functionally achieved today by marking a task as
failed
, but operationally overloading the meaning offailed
can cause issues with Ops/monitoring/alerting that may not have the complete picture to know whether a task has truly failed or has been markedfailed
by design. Adding an additional TaskInstanceState which represents putting a task on-hold improves clarity in DAG design while achieving the functional goal of stopping a DAGRun from continuing.Related issues
No response
Are you willing to submit a PR?
Code of Conduct
Beta Was this translation helpful? Give feedback.
All reactions