3
有沒有什麼辦法可以運行並行編程功能 in PowerShell?並行運行功能
喜歡的東西:
Function BuildParallel($configuration)
{
$buildJob = {
param($configuration)
Write-Host "Building with configuration $configuration."
RunBuilder $configuration;
}
$unitJob = {
param()
Write-Host "Running unit."
RunUnitTests;
}
Start-Job $buildJob -ArgumentList $configuration
Start-Job $unitJob
While (Get-Job -State "Running")
{
Start-Sleep 1
}
Get-Job | Receive-Job
Get-Job | Remove-Job
}
不起作用,因爲它抱怨不承認「RunUnitTests」和「RunBuilder」,這是在同一個腳本文件中聲明功能。顯然這是因爲腳本塊是一個新的上下文,並且不知道在同一個文件中聲明的腳本。
我可以嘗試使用-InitializationScript在啓動工作,但都RunUnitTests和RunBuilder調用同一個文件中聲明或其他文件中引用更多的功能,所以......
我敢肯定有一個方法來做到這一點,因爲它只是模塊化編程(函數,例程和所有東西)。
但我應該使用裏面的腳本塊和功能將被自動識別? – Luis
正確的,ScriptBlock /作業是在它自己的上下文中運行的,所以你可以在每個scriptblock的開始處運行它,以將你的函數導入到作業的上下文中。 –
非常感謝,它工作正常! – Luis