다음을 통해 공유


about_Checkpoint 워크플로

간단한 설명

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

자세한 설명

검사점-워크플로 작업은 상태와 데이터를 워크플로에 저장하는 검사점을 사용합니다. 워크플로가 일시 중단되거나 중단된 경우 다시 시작하지 않고 가장 최근의 검사점에서 다시 시작할 수 있습니다.

검사점-워크플로 작업은 워크플로에서만 유효합니다.

통사론

Workflow <Verb-Noun>
{
    Checkpoint-Workflow
}

Checkpoint-Workflow 작업은 공통 매개 변수 및 워크플로 공통 매개 변수를 비롯한 매개 변수를 허용하지 않습니다.

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

중단된 워크플로의 한 섹션을 다시 실행하는 데 걸리는 시간이 검사점 상태 및 데이터를 디스크에 쓰는 데 걸리는 시간보다 큰지 확인합니다.

워크플로를 다시 시작하는 대신 다시 시작할 수 있도록 중요한 단계 후에 검사점을 사용하는 것이 좋습니다. 예를 들어 idempotent가 아닌 명령 뒤의 검사점을 사용합니다.

검사점 정보

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

워크플로가 의도적으로 또는 의도치 않게 중단되면 Windows PowerShell 워크플로는 자동으로 최신 검사점의 데이터를 사용하여 워크플로를 복구하고 다시 시작합니다.

AsJob 워크플로 공통 매개 변수를 사용하는 등 워크플로를 작업으로 실행하면 Remove-Job cmdlet을 사용하는 등 작업을 삭제할 때까지 워크플로 검사점이 유지됩니다. 그렇지 않으면 워크플로가 완료되면 워크플로 검사점이 삭제됩니다.

기타 검사점 기술

검사점-워크플로 작업 외에도 Windows PowerShell 워크플로는 다음을 비롯한 다른 검사점 지정 기술을 지원합니다.

  • PSPersist 워크플로 일반 매개 변수
  • PSPersist 활동 일반 매개 변수
  • PSPersistPreference 변수(워크플로에서)

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

예제

다음 워크플로에는 장기 실행 함수를 완료한 후 Checkpoint-Workflow 활동에 대한 호출과 데이터를 공유하는 스크립트가 포함됩니다.

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

    Invoke-LongRunningFunction
    {
        ...
    }
}

참고 항목