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