I know Until activity works as do...until. So it doesn't check expression for first run and when 2nd execution for inner activity comes it first check the expression. If expression results true then it will execute inner activity and so on...
But the situation is not same when I tried, it only repeat when expression results false.
Here @equals(1,2)
runs inner activity but if I put @equals(1,1)
it execute inner activities only once.
In my situation, I need to recall inner activities till specific activity(notebook) failed.
@equals('Failed',string(activity('CheckStatus').Status))
So, here it should recall inner activities from 2nd time as above condition is true, but it wont react in such way. As you can see in below screenshot, it run only for first time.
Update for more specific scenario as per comments in one of the answer.
- I want to loop on failure for specific number of time in case of failure so the expression I put is
@and(equals('Failed',activity('CheckStatus').Status),lessOrEquals(int(variables('counter')),3))
. So it says that If CheckStatus activity failed AND counter <= 3, if this condition true call inner activity again. - Inner activity is setting that counter and call my CheckStatus notebook, if failed wait for 5 minute.