about_Suspend-Workflow
Descrição breve
Descreve a Suspend-Workflow
atividade, que suspende o fluxo de trabalho no qual a atividade aparece.
Descrição longa
A Suspend-Workflow
atividade interrompe temporariamente o processamento do fluxo de trabalho de dentro do fluxo de trabalho. Antes da suspensão, o Fluxo de Trabalho do Windows PowerShell usa um ponto de verificação para que o estado e os dados do fluxo de trabalho sejam preservados e o fluxo de trabalho possa ser retomado a partir do ponto de suspensão.
Para retomar o fluxo de trabalho, o usuário que executa o fluxo de trabalho usa o Resume-Job
cmdlet. Você não pode retomar um fluxo de trabalho de dentro do fluxo de trabalho.
Sintaxe
workflow <Verb-Noun>
{
Suspend-Workflow
}
Descrição detalhada
O Suspend-Workflow
interrompe temporariamente o fluxo de trabalho e retorna um objeto de trabalho que representa o trabalho de fluxo de trabalho. Um objeto de trabalho é retornado mesmo que você não tenha executado o fluxo de trabalho como um trabalho. Por exemplo, por exemplo, usando o parâmetro comum de fluxo de trabalho AsJob . O estado do trabalho é Suspenso.
Você pode usar os cmdlets de trabalho para gerenciar o trabalho de fluxo de trabalho suspenso. Para retomar o trabalho de fluxo de trabalho, use o Resume-Job
cmdlet.
Quando você retoma o trabalho de fluxo de trabalho, o fluxo de trabalho é retomado no comando que segue a Suspend-Workflow
atividade.
Por exemplo, o fluxo de trabalho a seguir inclui a Suspend-Workflow
atividade.
Quando você executa o fluxo de trabalho, ele executa a Get-Date
atividade, salva sua $a
saída na variável e, em seguida, suspende o fluxo de trabalho e retorna um objeto de trabalho que representa o fluxo de trabalho suspenso. O tipo de trabalho é PSWorkflowJob.
Você pode usar os cmdlets de trabalho, como Get-Job
, para gerenciar o trabalho de fluxo de trabalho.
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
Retomando um trabalho de fluxo de trabalho
Para retomar o trabalho de fluxo de trabalho, use o Resume-Job
cmdlet. O Resume-Job
cmdlet retorna o objeto de trabalho de fluxo de trabalho imediatamente, mesmo que ele ainda não tenha sido retomado. Para aguardar a retomada do trabalho, use o parâmetro Wait ou use o Get-Job
cmdlet para obter o objeto de trabalho atual.
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
Obtendo a saída de um trabalho de fluxo de trabalho
Para obter a saída de um trabalho de fluxo de trabalho, use o Receive-Job
cmdlet. A saída mostra que o fluxo de trabalho foi retomado no comando que seguiu o Suspend-Workflow
cmdlet. O valor da variável, que foi preenchido antes da suspensão, está disponível para o fluxo de $a
trabalho quando ele é retomado.
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
Confira também
- about_Workflows
- about_WorkflowCommonParameters
- Cmdlets PSWorkflow
- Guia de fluxos de trabalho
- Writing a Windows PowerShell Workflow (Escrevendo um Fluxo de Trabalho do Windows PowerShell)