小编Sta*_*ace的帖子

Powershell 3.0 - 工作流程 - 限制并行执行次数

我正在从模板克隆ESX服务器上的VM.简化代码如下所示:

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

Create-VM
Run Code Online (Sandbox Code Playgroud)

并行执行非常有用.不幸的是,在这种情况下不能很好地工作.生成了太多并行请求.我需要将并行执行次数限制为较小的数字(例如4).

我试图更改本地会话配置(SessionThrottleLimit,MaxSessionsPerWorkflow,MaxRunningWorkflows)http://technet.microsoft.com/en-us/library/hh849862.aspx.

$WWE = New-PSWorkflowExecutionOption  -SessionThrottleLimit 4
Set-PSSessionConfiguration -Name microsoft.powershell.workflow `
   -SessionTypeOption $WWE 
Get-PSSessionConfiguration microsoft.powershell.workflow | 
fl SessionThrottleLimit
Run Code Online (Sandbox Code Playgroud)

  • 我应该更改哪个参数(或组合)的会话配置,以便将并行执行的数量限制为4?
  • 是否有其他方法如何实现(例如:执行工作流的不同方式......)?

parallel-processing powershell workflow powershell-3.0

9
推荐指数
2
解决办法
1万
查看次数