Skip to content

Workflows

Daniel Donda edited this page Mar 23, 2018 · 2 revisions

Você pode escrever workflow no PowerShell ou usar o XAML (Extensible Application Markup Language)

Um workflow funciona como se fosse um cmdlet do PowerShell, com a diferença de fazer o uso do Windows Workflow Foundation que habilita a criação de scripts de longa execução gerenciáveis. Usando um Workflow você pode Interromper, suspender, reiniciar, repedir e fazer execução paralela, o que o torna uma excelente ferramenta em ambientes de computação em nuvem, já que permite aos administradores automatizarem tarefas de execução diária e repetidas. Workflow suporta interrupções de maquinas e rede , como por exemplo a reinicialização de um servidor.

Workflow MeuWorkFLow {Write-Output -InputObject "Olá esse é o meu Workflow!"}

Você pode então fazer a execução do seu WorkFlow simplesmente executando nome do mesmo:

MeuWorkFlow

Um bom exemplo de como podemos fazer o uso de Workflow é criando um script de longa duração e invocando os mesmo como um job. Para entender melhor execute a sequência de scripts criados especificamente para entendimento desse recurso.

# Crie e execute o workflow
workflow MeuWorkFlow
{
while(1)
{
(get-date).ToString() + " Script Demorado"
Start-Sleep -seconds 3
}
}

# invokar o comando como um trabalho (JOB)
$wfjob = MeuWorkFlow -AsJob

# Consulte e use o WFjob E não se esqueça de consular os cmdlets *-job.
$wfjob
Receive-Job $wfjob

# Você então pode suspender o trabalho e notar que ele não exibe informações, pois está suspenso.
Suspend-Job $wfjob -Force -Wait
$wfjob
Receive-Job $wfjob

# Por fim você pode resumir o trabalho.
Resume-Job $wfjob -Wait

# Finalizar o trabalho !!
Get-Job | Remove-Job -Force

Você pode visitar o Blog do MSDN e conhecer o mais completo modulo para trabalhar com workflow. http://bit.ly/X4KAeA Este modulo, trabalha com criação de discos em paralelo para diversas maquinas em ambiente.

Execução Paralela

Quando usamos or recurso de WorkFlow, podemos tomar vantagem do uso da execução paralela. Em scripts sendo executados em vários servidores e que precisam executar varias tarefas, pode ser necessário usar o Parallel.

Neste exemplo, vamos criar um workflow que irá iniciar os dois editores de texto nativos de Windows para demonstrar o recurso de execução em paralela.

Workflow Start-Editores {
Parallel {
Start-Process –FilePath Notepad
Start-Process –FilePath Wordpad
}
}

Clone this wiki locally