Situation:We want to abort a process flow if it is not getting executed within the specified time.
Solution: This can be done using a Custom Plugin activity in which we can specify if it needs to be Abort/Kill. We have attached the PF zip that can be deployed using Migration utility and can be used for reference. Below are the high level steps for achieving this:
- Create the Parent-Child Process Flow and place the Process Flow (that you want to Abort/Kill) in a Child Process Flow.
- Then Child Process Flow will be called from Parent using a spawn action with "Wait For Child" set to True.
- Also use attached Custom plugin in the Parent Process Flow that will wait for specified time(Using Delay) before Aborting the Child Process Flow.
- ChildID(Transaction ID of Child Process Flow) and CHILDPID(Transaction PID of Child Process Flow) will be set in Parent context from Child Flow. These values are used in Plugin to Abort/Kill the child flow.
Please go through the attached PF zip and their PDF for more details.
Information while Using Abort/Kill operation:
Kill is hard Kill where the PF will be terminated on currently running activity by "Kill" action only if execution is at below points else it will be terminated when that activity is executed:
◾Termination of data mapping activities participating in the process flow: If mapping is using any function from DB Query, set-context, get-context then kill action will be applicable for mapping activity.
◾Termination of schema activities participating in the process flow: this is implemented for Text, Excel and Positional schema and DB schema.
If Process flow is in Running state apart from above scenarios then it wouldn't be terminated at that time.
While using Abort action the Process Flow will be instantly Aborted whenever the execution of currently running activity is complete.