ker*_*nic 5 parallel-processing powershell
我有一个Powershell脚本,我正在调用一个名为generate_html的函数.
有没有办法在继续下一个函数调用之前调用函数而不等待它返回?
我宁愿不必将其分解为多个脚本并同时运行这些脚本.
function generate_html($var)
{
...
}
generate_html team1
generate_html team2
Run Code Online (Sandbox Code Playgroud)
您可以使用Start-Jobcmdlet 将方法作为异步作业启动.
所以,你会做这样的事情:
function generate_html($var)
{
#snipped
}
Start-Job -ScriptBlock { generate_html team1 }
Run Code Online (Sandbox Code Playgroud)
如果您需要监视作业是否完成,请存储Start-Job的输出或用于Get-Job在当前会话中启动所有作业,然后拉出所需的作业.完成后,检查State属性以查看值是否为Finished
编辑:实际上,我的错误,作业将在另一个线程中,因此在您开始工作的线程中定义或不可用的函数(不在powershell知道的模块中)不可用.
尝试将您的函数声明为scriptblock:
$generateHtml = {
param($var)
#snipped
}
Start-Job -ScriptBlock $generateHtml -ArgumentList team1
Start-Job -ScriptBlock $generateHtml -ArgumentList team2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10708 次 |
| 最近记录: |