Klonuję maszyny wirtualne na serwerze ESX z szablonu. Uproszczony kod wygląda następująco:Powershell 3.0 - Przepływy pracy - Ogranicz liczbę równoległych operacji
Workflow Create-VM {
$List = 1..500
foreach -parallel ($Elem in $List)
{
# Create VM ...
# Configure created VM ..
}
}
Create-VM
Równoległe wykonanie jest naprawdę pomocne. Niestety w tym przypadku nie działa całkiem dobrze. Wygenerowano zbyt wiele równoległych żądań. Muszę ograniczyć liczbę równoległych wykonań do mniejszej liczby (na przykład 4).
Próbowałem zmienić lokalną konfigurację sesji (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
Pytanie
- który parametr (lub ich kombinacji) konfiguracji sesji należy zmienić, aby ograniczyć liczbę egzekucji równoległej do 4?
- Czy istnieje inna metoda, w jaki sposób mogę to osiągnąć (Na przykład: inny sposób wykonania przepływu pracy ...)?
Dziękuję, działa dobrze. – Starspace