cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
hjaf
Level: Powered On

Concurrency setting does not seem to be working

Is there some known issue about concurrency not working on multiple levels? e.g I have 3 levels of 'for each' and I'm wondering if that may cause the concurrency setting to not have any effect.  There is an array variable that the deepest for-each is appending. The "middle loop" resets the array on every iteration and it is obviously running simultaenously because the array only gets populated when the reset has taken place on all iterations, only now it gets populated by ALL of the iterations. 

 

I have set all the for-all loops to concurrency to 1 but the top-level loop runs keeps running rampant. 

 

3 REPLIES 3
v-lin-msft
Level 8

Re: Concurrency setting does not seem to be working

Hi @hjaf,

 

Could you share a screenshot of your flow configuration, please?

 

According to your description, do you want to have 3 for-each simultaneous run? You can click on this cross button and choose to add parallel branches.Annotation 2019-06-06 174609.png

 

Best Regards,

Community Support Team _ Lin Tu

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

hjaf
Level: Powered On

Re: Concurrency setting does not seem to be working

No, there is a reason for nesting the loops, they are dependent. However, it looks like it was a misconception by me, The loops seem to run simultaneously, but using different environments, so the top level for-each will still start multiple loops running at the same time, but the embedded loops do not proceed. The action by the top level loop is applied immediately, but then the sub-loops take some time, and the result is correct. But the concurrency setting seem to be an abstract, I guess that in reality it is optimizing resources and running at the same time when it can. 

Description about the Concurrency Control added to my confusion: "For each loops execute sequentially by default. Override the default setting to customize the degree of parallelism." So it will run sequentially by default, yet there is a warning about variable settings because of concurrency..? And wouldn't saying that a loop is run sequentially, be like saying that a loop loops? 


Anyways, do I understand the description correctly in that the loop is running as if the concurrency setting was set at 1 by default?

 

Mirega
Level: Powered On

Re: Concurrency setting does not seem to be working

Hello,

You initialize the variables outside the for each loop, giving them a somewhat global scope. This means that if you do set variable or append variable inside a loop that is running parallel you might end up affecting all loops because of the variable's context being accessible in a global way.

This is my take on concurrency concept from programming point of view and what i have seen flow doing.
>