ReFramework maxRetry Mechanism

Hi all,
i have a doubt, i’m using REFramework without the queue and orchestrator (my transactionItem is a string) how can i use maxRetry number in config?
In which state the framework check if i try three times and end process?
I didn’t understand that.
Thanks in advance

The REFramework checks this in the RobotRetry.xaml workflow. This is located within the System Error section of the SetTransactionStatus.xaml workflow.

SetTransactionStatus.xaml is called in the Finally block of the Process state in Main.xaml.

1 Like

Thanks, i’m just seeing the robotRetry.xaml, and when max retries reached assign retryNumber to 0. So I’m expecting the robot end process in this case but my process transaction state go to init again in case of systemError = exception and loop again, there isn’t a check to max retry number that allows me to end process ?

The process will only end after all retries have been made. If you set the retry count to 0, this will trigger the Process state to enter the End state, rather than going back to Init.

Also, to clarify further, if the process fails in the Init state, it moves immediately to the End state with no retries.

1 Like

Ok, if system error is not nothing in INIT STATE go to end process.
If an error occur in process transaction and max retry number is 3 (in config) it repeat from INIT for three times, i understand that, but for understand the logic behind, maybe i’m wrong but i’m expect to find something like: until you reach max retry number go to to init else go to end process, like the transition in picture
1111

but the logic is always the same so where take the decision to return to init or ending process?

The way it keeps track of when it should stop is with the RetryNo variable. This is set in the RobotRetry.xaml workflow, and passed back up. Since RetryNo is global to the project, the total retries at that point will be stored in the variable. The moment the process succeeds, RetryNo will be set to 0.

Also, I’ve been saying that the process will reach the end state once the max retries are reached, but that is only if there are no more transactions to process. If there are, after it hits the max retries, the process will move on to the next transaction. There is no direct flow from the Process state to End. There must be no more items to process.