Hello! I have a quick question about signals.ENDRUN.
Based on my testing even if I raise ENDRUN in a task other tasks are still try being executed. Other signals behave as I would expect them, but with ENDRUN my expectation is that once raised the pipelines stops executing at that time.
Am I missing something about ENDRUN?
And, is there a mechanism where I could stop the execution of the flow or task that would get around the retrying? (Sometimes an error is of such sort that one knows retrying won’t help and it’s best to just stop)
k
Kevin Kho
08/13/2021, 3:31 PM
@Marvin open “ENDRUN Docs Say the Flow is Ended but It Only Ends a Task”
Hey @Anze Kravanja, you are right that this only works on a task. I think you would need to use a state handler and the graphQL API to cancel the flow run with the
flow_id
retrieved from context.
a
Anze Kravanja
08/13/2021, 3:34 PM
Okay, I think that makes sense. Looks like the context of signals is just within a task. So I can easily use ENDRUN in case of failures that shouldn’t be retried.
For cancelling the whole pipeline I can likely use conditional logic to skip the rest.
k
Kevin Kho
08/13/2021, 3:35 PM
Yeah SKIPPED or FAILED will propagate downstream also. Conditional logic will work.
Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.