Degree of Parallelism in Power Automate
What is Degree of Parallelism ?
The number of loop iterations that can run at the same time, or in parallel.
Degree of Parallelism in Power Automate?
Lets take a scenario of updating child records on update of parent record. One of the most used controls is ‘Apply Each’ which is used to process a list of items.
By default, loops run in sequence (essentially, parallelism is 1) . That means only one child record is processed at a time.
So, in some scenarios if the number of child records is more , flow takes more time to complete. In my case, it took more than 4 minutes to process 100 records.
We can improve the flow performance by enabling ‘Concurrency Control’ and adjusting ‘Degree of parallelism’ settings of ‘Apply Each’ control.
In my case, it took less than 1 minute to process 100 child records after setting the degree of parallelism to 20 (Max value is 50).
Read about limits and configuration in Power Automate here.
Hope it helps.
Original Post from my blog : https://powerofpowerplatform.com/degree-of-parallelism-in-power-automate/
Comments
-
Degree of Parallelism in Power Automate
Another way around that is for example (using sharepoint) : including a finalize button for the invoice like submit or confirmed, and adjust the trigger for the flow to fire based on if an item was changed, then confirming that the invoice is indeed ready to be sent through a condition checker for the column that was added,
EX : if column "invoice ready" = ready, then the flow will send the message, and it can wait for the response, since every single invoice will have a separate flow run, not one flow run for all messages, that way it can be done without a paid subscription and also easier to identify any failed runs -
Degree of Parallelism in Power Automate
In my situation, I have a list of about 750 items, with a date column called "check-in date." I have a scheduled flow which loops through the whole list, checking that date column, and if one matches today, sends an approval task, using the actions 'Create an approval' -> 'Send an Email (V2)' -> 'Wait for an approval'. I have the same issue as described by other commenters, but my requirements don't allow me to build this flow as a triggered flow like omostafa97 did. I just discovered the 'degree of parallelism' setting, though, and so setting it to 50 will alleviate some of the symptoms of the tasks looping through sequentially while needing them to be concurrent. But it would be reassuring if the setting could go beyond 50.
-
Degree of Parallelism in Power Automate
@Varun_Bhatia
For my configuration, i didn't rely on the parallel apply to each as it's sending out 50 parallel requests and wait for their responses which might not get replied on or even read (could happen), this will keep the next 50 Message or invoice stuck until the first patch get fully responded or expired.
Instead, I used it as a trigger.
The invoices are being created in SharePoint list.
So I set my trigger as if a new item is added or modified the invoice is being delayed for 48 hours then being sent separately,This way will force the flow run once for each invoice instead of running once for all of them "it was possible with the free version", which will not postpone sending any actionable email as each one is being considered for one automatic & delayed run separately.
-
Degree of Parallelism in Power Automate
Hi @Anonymous . Were you able to identify the solution? I have the same use case to send out an action that waits for a user to respond. Can this be resolved if we go for a paid license? Or is there any way to do it in the free version? One way I found was to have Parallel 'Apply to each', but that would just do a 50*3 if we go for 3 parallel actions. So were you able to resolve the query you had?
-
Degree of Parallelism in Power Automate
Hi there,
I have a similar situation where i have a SharePoint list containing items "invoices" that increase on daily basis.
I want to send all the invoices created within the week to the customers by the end of the week.
This will make more than 200 invoice per week.
My currant configurations is sending only 50 as i`m using apply to each item " 50 Degree of parallelism" to send the email with options "which will cause the flaw to pause till the customer responds".
Is there any way to increase the degree of parallelism more than 50?
*This post is locked for comments