需要通过递增一个参数值来运行脚本部分的循环

时间:2018-12-12 11:06:08

标签: powershell loops increment hpc

我有脚本的这一部分,我试图通过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

0 个答案:

没有答案