Compartilhar via


about_Suspend-Workflow

TÓPICO

about_Suspend-Workflow

DESCRIÇÃO BREVE

Descreve a atividade Suspend-Workflow, que suspende o fluxo de trabalho em que a atividade será exibida.

DESCRIÇÃO LONGA

A atividade Suspend-Workflow interrompe temporariamente o processamento do fluxo de trabalho no fluxo de trabalho. Antes de desconectar, o fluxo de trabalho do Windows PowerShell® usa um ponto de verificação para o estado, os dados do fluxo de trabalho são preservados e o fluxo de trabalho pode retomar do ponto de suspensão.

Para retomar o fluxo de trabalho, o usuário que executa o fluxo de trabalho usa o cmdlet Resume-Job. Não é possível retomar um fluxo de trabalho por meio 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 do fluxo de trabalho. Um objeto de trabalho é retornado mesmo se você não executou o fluxo de trabalho como trabalho, como ao usar o parâmetro comum de fluxo de trabalho AsJob. O estado do trabalho é suspenso.

Você pode usar os cmdlets Job para gerenciar o trabalho de fluxo de trabalho suspenso. Para retomar o trabalho do fluxo de trabalho, use o cmdlet Resume-Job.

Ao retomar o trabalho do fluxo de trabalho, o fluxo de trabalho é retomado no comando que segue a atividade Suspend-Workflow.

Por exemplo, o seguinte fluxo de trabalho inclui a atividade Suspend-Workflow. Quando você executa o fluxo de trabalho, ele executa a atividade Get-Date, salva a saída na variável $uma 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.

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

        PS C:\>Test-Suspend

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

Você pode usar os cmdlets de trabalho, como Get-Job, para gerenciar o fluxo de trabalho.

RETOMAR UM TRABALHO DE FLUXO DE TRABALHO

Para retomar o trabalho do fluxo de trabalho, use o cmdlet Resume-Job. O cmdlet Resume-Job retorna o objeto de trabalho do fluxo de trabalho imediatamente, mesmo que ele ainda não possa ser retomado. Para aguardar o trabalho ser retomado, use o parâmetro Wait ou use o cmdlet Get-Job para obter o objeto de trabalho atual.

        PS C:\>Resume-Job -Name Job8

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


        PS C:\>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 cmdlet Receive-Job. A saída mostra o fluxo de trabalho retomado no comando que seguiu o cmdlet Suspend-Workflow. O valor da variável $, que foi preenchida antes da suspensão, está disponível para o fluxo de trabalho quando ele for retomado.

        PS C:\>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 

CONSULTE TAMBÉM

about_Workflows

Introdução ao Fluxo de Trabalho Windows PowerShell (https://go.microsoft.com/fwlink/?LinkID=252592)