about_Checkpoint-Workflow

Краткое описание

Описывает действие контрольного процесса, которое принимает контрольную точку в рабочем процессе.

Длинное описание

Действие контрольного процесса принимает контрольную точку, которая сохраняет состояние и данные в рабочем процессе. Если рабочий процесс приостановлен или прерван, его можно возобновить с последней контрольной точки, а не перезапустить.

Действие контрольного процесса допустимо только в рабочем процессе.

Синтаксис

workflow <Verb-Noun> {
    Checkpoint-Workflow
}

Действие контрольного процесса не принимает никаких параметров, включая общие параметры и общие параметры рабочего процесса.

Вы можете разместить контрольную точку Checkpoint-Activity в любом месте рабочего процесса после инструкции КомандлетBinding или param. Однако при размещении контрольных точек следует учитывать затраты на производительность сбора данных и записи их на диск на компьютере, на котором выполняется рабочий процесс.

Убедитесь, что время, необходимое для перезапуска раздела рабочего процесса в случае его прерывания, больше, чем время, которое занимает запись состояния и данных контрольной точки на диск.

Рассмотрите возможность выполнения контрольных точек после критических шагов, чтобы рабочий процесс можно было возобновить, а не перезапустить. Например, выполните контрольную точку после команд, которые не являются идемпотентными.

Сведения о контрольных точках

Контрольная точка — это моментальный снимок текущего состояния рабочего процесса, включая текущие значения переменных и любые выходные данные, созданные на этот момент, который сохраняется на диске.

Если рабочий процесс прерывается намеренно или непреднамеренно, рабочий процесс Windows PowerShell автоматически использует данные в новейших контрольных точках для восстановления и возобновления рабочего процесса.

При запуске рабочего процесса в качестве задания, например с помощью общего параметра рабочего процесса AsJob, контрольные точки рабочего процесса сохраняются до удаления задания, например с помощью командлета Remove-Job. В противном случае контрольные точки рабочего процесса удаляются после завершения рабочего процесса.

Другие методы контрольной точки

Помимо действия контрольного процесса Рабочий процесс Windows PowerShell поддерживает другие методы контрольных точек, в том числе следующие:

  • Общий параметр рабочего процесса PSPersist
  • Общий параметр действия PSPersist
  • Переменная PSPersistPreference (в рабочем процессе)

Дополнительные сведения о добавлении контрольной точки в рабочий процесс см. в разделе "Добавление контрольных точек в рабочий процесс".

Примеры

Следующий рабочий процесс включает вызов действия контрольного процесса после завершения длительной функции и скрипта, который предоставляет общий доступ к данным.

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

    Invoke-LongRunningFunction {
        ...
    }
}

См. также