Поделиться через


about_Suspend-Workflow

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

Описывает действие, которое приостанавливает Suspend-Workflow рабочий процесс, в котором отображается действие.

Подробное описание

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

Чтобы возобновить рабочий процесс, пользователь, выполняя рабочий процесс, использует Resume-Job командлет. Невозможно возобновить рабочий процесс из рабочего процесса.

Синтаксис

workflow <Verb-Noun>
{
    Suspend-Workflow
}

Подробное описание

Временно Suspend-Workflow останавливает рабочий процесс и возвращает объект задания, представляющий задание рабочего процесса. Объект задания возвращается, даже если вы не выполняли рабочий процесс в качестве задания. Например, например с помощью общего параметра рабочего процесса AsJob . Состояние задания приостановлено.

Командлеты заданий можно использовать для управления приостановленным заданием рабочего процесса. Чтобы возобновить задание рабочего процесса, используйте Resume-Job командлет.

При возобновлении задания рабочего процесса рабочий процесс возобновляется в команде, следующей за действием Suspend-Workflow .

Например, следующий рабочий Suspend-Workflow процесс включает действие. При запуске рабочего процесса он запускает Get-Date действие, сохраняет выходные данные в $a переменной, а затем приостанавливает рабочий процесс и возвращает объект задания, представляющий приостановленный рабочий процесс. Тип задания — PSWorkflowJob.

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

Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

Test-Suspend
Id  Name  PSJobTypeName  State      HasMoreData  Location  Command
--  ----  -------------  -----      -----------  --------  -------
8   Job8  PSWorkflowJob  Suspended  True         localhost Test-Suspend

Возобновление задания рабочего процесса

Чтобы возобновить задание рабочего процесса, используйте Resume-Job командлет. Командлет Resume-Job немедленно возвращает объект задания рабочего процесса, даже если он еще не будет возобновлен. Чтобы ожидать возобновления задания, используйте параметр Wait или используйте Get-Job командлет, чтобы получить текущий объект задания.

Resume-Job -Name Job8
Id  Name  PSJobTypeName  State    HasMoreData  Location  Command
--  ----  -------------  -----    -----------  --------  -------
8   Job8  PSWorkflowJob  Running  True         localhost Test-Suspend
Get-Job -Name Job8
Id  Name  PSJobTypeName  State      HasMoreData  Location  Command
--  ----  -------------  -----      -----------  --------  -------
8   Job8  PSWorkflowJob  Completed  True         localhost Test-Suspend

Получение выходных данных задания рабочего процесса

Чтобы получить выходные данные задания рабочего процесса, используйте Receive-Job командлет. Выходные данные показывают, что рабочий процесс возобновился в командлете Suspend-Workflow . Значение переменной $a , заполненной до приостановки, доступно для рабочего процесса при возобновлении работы.

Get-Job -Name Job8 | Receive-Job
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 19
Milliseconds      : 823
Ticks             : 198230041
TotalDays         : 0.000229432917824074
TotalHours        : 0.00550639002777778
TotalMinutes      : 0.330383401666667
TotalSeconds      : 19.8230041
TotalMilliseconds : 19823.0041
PSComputerName    : localhost

См. также