2009-11-09 4 views
0

Start-Job을 사용하여 실행하려는 PowerShell 스크립트를 만듭니다. Stop-Job을 사용하지 말라고 알릴 때까지 작업이 백그라운드에서 계속 실행되어야합니다. 지정된 기간의 타이머에서 SQL 명령을 실행하고 결과를 작업 파이프 라인에 출력하여 Receive-Job을 사용하여 검색 할 수 있습니다.5 분마다 SQL 명령을 실행하는 PowerShell 작업 만들기

지금은 작업이 제대로 실행되지만 초기 SQL 명령 실행 후 실행을 계속할 준비가되어 있지 않습니다 (구현 된 타이머가 없습니다).

작업이 계속 실행되도록 PowerShell 작업에서 타이머를 구현하는 적절한 방법은 무엇입니까?

답변

1

어쩌면 같은 아주 타이머, 나는 불가능했을 비슷한 일 그냥 루프를 사용하는 동안 :

while ($true) { 
    $start = [DateTime]::Now 
    "Hello" 
    $end = [DateTime]::Now 
    #computer difference from initial five minute marker (5*60*1000=300000) 
    $wait = (5*60*1000) - ($end - $start).TotalSeconds 
    if ($wait -gt 0) { [System.Threading.Thread]::Sleep($wait) } 
} 
:

while ($true) { 
    "Hello" 
    [System.Threading.Thread]::Sleep(1000) 
} 

당신은 더 시간의 계산 된 금액을 잠 스크립트를 수정 할 수 있습니다를

+0

은 Thread.Sleep PowerShell에서 대기하는 가장 좋은 방법입니까? –

+2

Start-Sleep 1 (1 초)을 사용합니다. –

관련 문제