Aracılığıyla paylaş


about_Suspend-Workflow

Kısa açıklama

Etkinliğin Suspend-Workflow görüntülendiği iş akışını askıya alan etkinliği açıklar.

Uzun açıklama

Etkinlik, Suspend-Workflow iş akışının içinden iş akışı işlemeyi geçici olarak durdurur. Askıya almadan önce, Windows PowerShell İş Akışı iş akışının durumunun ve verilerinin korunması ve iş akışının askıya alma noktasından devam edebilmesi için bir denetim noktası alır.

İş akışını sürdürmek için iş akışını çalıştıran kullanıcı cmdlet'ini Resume-Job kullanır. bir iş akışını iş akışının içinden sürdüremezsiniz.

Sözdizimi

workflow <Verb-Noun>
{
    Suspend-Workflow
}

Ayrıntılı açıklama

, Suspend-Workflow iş akışını geçici olarak durdurur ve iş akışı işini temsil eden bir iş nesnesi döndürür. İş akışını iş olarak çalıştırmasanız bile bir iş nesnesi döndürülür. Örneğin, AsJob iş akışı ortak parametresini kullanarak. İş durumu Askıya Alındı şeklindedir.

Askıya alınan iş akışı işini yönetmek için iş cmdlet'lerini kullanabilirsiniz. İş akışı işini sürdürmek için cmdlet'ini Resume-Job kullanın.

İş akışı işini sürdürdüğünüzde, iş akışı etkinliği izleyen komutta devam eder Suspend-Workflow .

Örneğin, aşağıdaki iş akışı etkinliği içerir Suspend-Workflow . İş akışını çalıştırdığınızda, etkinliği çalıştırır Get-Date , çıktısını $a değişkene kaydeder ve sonra iş akışını askıya alır ve askıya alınan iş akışını temsil eden bir iş nesnesi döndürür. İş türü PSWorkflowJob'tır.

İş akışı işini yönetmek için gibi Get-Jobiş cmdlet'lerini kullanabilirsiniz.

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

İş akışı işini devam ettiriyor

İş akışı işini sürdürmek için cmdlet'ini Resume-Job kullanın. Resume-Job Cmdlet, henüz sürdürülmemiş olsa bile iş akışı işi nesnesini hemen döndürür. İşin sürdürülmesini beklemek için Wait parametresini kullanın veya geçerli iş nesnesini almak için cmdlet'ini kullanınGet-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

İş akışı işinin çıktısını alma

bir iş akışı işinin çıkışını almak için cmdlet'ini Receive-Job kullanın. Çıktı, iş akışının cmdlet'inden sonra gelen komutta Suspend-Workflow sürdürüldüğünü gösterir. Askıya alma işleminden $a önce doldurulan değişkenin değeri, devam ettiğinde iş akışı tarafından kullanılabilir.

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

Ayrıca bkz.