Author Posts

October 9, 2013 at 11:24 am

I just started using the new workflow construct in posh, and I'm wondering if there's a way to specify a 'throttle limit' ( or something similar) parameter in the parallel blocks so that only x-number of simultaneous instructions get executed at once. For example, i would like to limit the following file copies to 32 nodes at a time:

workflow Distribute-Directory
{
[CmdletBinding()]  
Param
(
$dir_source = 'C:\TEMP\_packages\Intel-825xx-Gigabit-Ethernet-Controller',
$dir_dest = 'c$\temp',
[string[]]$node
)

Foreach -parallel ($node_dest in $node) {

cmd /c robocopy $dir_source $("\\"+$node_dest+"\"+$dir_dest+"\"+(get-item $dir_source).Name) /E

}

}

Many thanks!

October 9, 2013 at 11:56 am

That was added as a feature in v4, I believe.

August 9, 2016 at 12:06 pm

Can anyone confirm/deny that the parameter -Throttlelimit works above 5?
ex.
ForEach -Parallel -ThrottleLimit 10 ( $database in $databases )

August 9, 2016 at 12:44 pm

Shawn – be sure to start a new thread for a new question; I almost missed your reply, here.

The WWF engine handles the throttling; you can specify an upper limit, but the engine doesn't have to use as many threads as you specify.

July 6, 2017 at 9:38 am

Any alternate or substitute to overcome the default throttle limit(5) or more than 5 ?