我有脚本的这一部分,我试图通过Microsoft HPC使用我们的应用程序API进行一些分析,以运行不同的作业类型,例如Job503,Job504 .... till Job513。
只有2个Analysis服务器运行作业,一次只能运行2个作业,队列中最多可以包含10个作业,其中2个正在运行。因此Job503以下是2个职位,而Job507以下是10个职位。
我想做的不是写一个长脚本,而是要创建一个递增因子,在第一批中,我可以推送job503-job507,然后脚本将一直等到 $ MetricValue -eq 0 (由Ad-PSSnapin和while循环检查),然后脚本需要推送下一组10个作业,即job508-job513。我们要递增的值是 DLMProfileID ,对于脚本中显示的2个作业,-ObjectId参数值也需要分别为4和5。
Add-PSSnapin Microsoft.HPC
Set-Content Env:CCP_SCHEDULER $Clustername
While ($MetricValue -ne 0)
{
Sleep -Seconds 60
$MetricValue = Invoke-Command -ComputerName $Clustername -ScriptBlock {
Add-PSSnapin Microsoft.HPC;
$Value = (Get-HPCMetricValue -Name "HPCJobsRunning" | where {$_.nodename -match "HN*" }).Value
$Value
}
write-host $MetricValue
}
#Job503
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 4 -DlmProfileId 503 }
Write-Output $retcn01
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 5 -DlmProfileId 503 }
Write-Output $retcn02
#Job504
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 4 -DlmProfileId 504 }
Write-Output $retcn01
$retcn01 = Invoke-DlmApiDlmInitiateDLMAnalyse { New-DlmAnalysisCommand -Edm "Test_EDM" -ObjectId 5 -DlmProfileId 504 }
Write-Output $retcn02