Workflows -- Parallel Throttle Limit?

Tagged: ,

This topic contains 3 replies, has 3 voices, and was last updated by Profile photo of Don Jones Don Jones 8 months, 3 weeks ago.

  • Author
    Posts
  • #10627
    Profile photo of Ian Douglas
    Ian Douglas
    Participant

    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!

  • #10628
    Profile photo of Don Jones
    Don Jones
    Keymaster

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

  • #49694
    Profile photo of shawn bequette
    shawn bequette
    Participant

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

  • #49700
    Profile photo of Don Jones
    Don Jones
    Keymaster

    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.

You must be logged in to reply to this topic.