Functions/Base/Wait-OIMJobQueue.ps1
Function Wait-OIMJobQueue{ [CmdletBinding()] param ( [Parameter()] $id, $JobChainName, $timeout = 300, $sleep = 3 ) $jobs = "" $remainingtime = $timeout if($null -eq $id){ $where = "JobChainName LIKE '%" + $JobChainName +"%' AND Ready2EXE <> 'HISTORY' AND Ready2exe <> 'FINISHED'" }else{ $where = "UID_JobQueue ='$id'" } While($null -ne $jobs -and $remainingtime -ge 0){ Write-Progress "Wait jobqueue with jobchainname:'$JobChainName' jobscount:$( $jobs.count) seconds remaining:$remainingtime" -PercentComplete ((($timeout-$remainingtime)/$timeout )*100) Start-Sleep -Seconds $sleep $remainingtime -= $sleep $jobs = Get-OIMObject -ObjectName JobQueue -Where $where } } |