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
См. также
PowerShell