about_Checkpoint-Workflow

업데이트 날짜: 2014년 5월

적용 대상: Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

항목

about_Checkpoint-Workflow

간단한 설명

워크플로에서 검사점을 적용하는 Checkpoint-Workflow 활동에 대해 설명합니다.

자세한 설명

Checkpoint-Workflow 활동은 워크플로의 상태와 데이터를 저장하는 검사점을 적용합니다. 워크플로가 일시 중단되거나 중단된 경우 처음부터 다시 시작할 필요 없이 최근 검사점에서 다시 시작할 수 있습니다.

Checkpoint-Workflow 활동은 워크플로에서만 유효합니다.

구문

    Workflow <Verb-Noun>
    {
        Checkpoint-Workflow
    }

Checkpoint-Workflow 활동은 일반 매개 변수 및 workflow 일반 매개 변수를 포함하여 어떤 매개 변수도 허용하지 않습니다.

Checkpoint-Activity 검사점을 워크플로의 CmdletBinding 또는 Param 문 뒤에 어디에나 배치할 수 있습니다. 그러나 검사점을 배치할 때 데이터를 수집하여 워크플로를 실행 중인 컴퓨터의 디스크에 쓰는 성능 비용을 고려해야 합니다.

워크플로의 섹션이 중단된 경우 다시 실행하는 데 걸리는 시간이 검사점 상태와 데이터를 디스크에 쓰는 데 걸리는 시간보다 더 커야 합니다.

처음부터 다시 시작하지 않고 워크플로를 다시 시작할 수 있도록 중요 단계 뒤에 검사점을 적용하는 것을 고려해야 합니다. 예를 들어 검사점을 멱등원인 명령 뒤에 적용합니다.

검사점 정보

검사점은 변수의 현재 값을 포함한 워크플로의 현재 상태 및 해당 지점까지 생성된 출력의 스냅숏이며 해당 값을 디스크에 저장합니다.

워크플로가 고의로 또는 의도하지 않게 중단된 경우 Windows PowerShell® 워크플로는 자동으로 가장 새로운 검사점의 데이터를 사용하여 워크플로를 복구하고 다시 시작합니다.

워크플로를 작업으로 실행하는 경우(예: AsJob workflow 일반 매개 변수를 사용하여) 워크플로 검사점은 해당 작업을 삭제할 때(예: Remove-Job cmdlet을 사용하여)까지 보관됩니다. 그렇지 않으면 워크플로 검사점은 워크플로가 완료될 때 삭제됩니다.

기타 검사점 설정 기법

Checkpoint-Workflow 활동 외에도 Windows PowerShell 워크플로는 다음을 포함한 다른 검사점 설정 기법을 지원합니다.

        -- PSPersist workflow common parameter
        -- PSPersist activity common parameter
        -- PSPersistPreference variable (in a workflow)

워크플로에 검사점 추가에 대한 자세한 내용은 "워크플로에 검사점을 추가하는 방법"을 참조하세요.

예제

다음 워크플로는 오래 실행하는 함수 및 데이터를 공유하는 스크립트를 완료한 후의 Checkpoint-Workflow 활동 호출을 포함하고 있습니다.

        Workflow Test-Workflow
        {
            $a = Invoke-LongRunningFunction
            InlineScript { \\Server\Share\Get-DataPacks.ps1 $Using:a}    
            Checkpoint-Workflow
    
            Invoke-LongRunningFunction
            {
                ...
            }
        }

참고 항목

워크플로에 검사점을 추가하는 방법(https://go.microsoft.com/fwlink/?LinkId=261993)