Powershell 3.0 - Workflows - Limit number of parallel execution

后端 未结 3 1931
故里飘歌
故里飘歌 2021-02-20 15:40

I am cloning VMs on ESX server from template. Simplified code looks like this:

Workflow Create-VM {
  $List = 1..500
  foreach -parallel ($Elem in $List)
  {
            


        
3条回答
  •  星月不相逢
    2021-02-20 16:10

    There is an option to limit the number of parallel processes in a foreach-parallel loop using -throttlelimit N. It's great for reducing the parallelism, but if you try a high number the system may still limit you to 5, depending on all your software versions (YAY! Microsoft consistency). I know the question is old, but since it came up on Google without a decent answer, I thought I'd chime in.

    Workflow Create-VM {
      $List = 1..500
      foreach -parallel -throttlelimit 4 ($Elem in $List)
      {
          # Create VM ...
          # Configure created VM ..
      }
    }
    
    Create-VM
    

提交回复
热议问题