1
resposta

Monitoramento de tempo de Execução dos Jobs

Bom dia, Guilherme!

Parabéns por ministrar bem as aulas. Porém surgiu uma dúvida: Teria como retornar o tempo gasto de execução de um job e criar um relatório com essa informação ao término da execução cmdLet?

Desde já agradeço pelo tempo, Grato!

1 resposta

Olá Cassio, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Fico feliz em saber que está gostando das aulas, seu feedback é muito importante. Para monitorar o tempo gasto de execução de um job e criar um relatório com essa informação ao término da execução do cmdlet, podemos fazer o uso do comando Measure-Command, que permite medir o tempo gasto para executar determinado bloco de código. Basta que o bloco de código do job seja fornecido o Measure-Command, armazenar o resultado em uma variável, como no exemplo apresentado abaixo:

function JobComTempoDeExecucao {

    $job = Start-Job -ScriptBlock {
        # Bloco de código do job
        Start-Sleep -Seconds 5
        Get-Process
    }
    
    $timer = Measure-Command {
        Wait-Job $job
    }
    
    $executionTime = $timer.TotalSeconds
    Write-Host "Tempo de execucao do job: $executionTime segundos"
    
    # Criar o relatório
    $report = @"
Relatorio de Execucao do Job
----------------------------
Tempo de Execucao: $executionTime segundos
"@
    
    # Salvar o relatório em um arquivo
    $report | Out-File -FilePath "C:\Caminho\do\Arquivo\Relatorio.txt"
}

Nesse exemplo, o job é iniciado com o cmdlet Start-Job e o bloco de código do job é envolvido pelo Measure-Command. O tempo de execução é armazenado na variável $executionTime e exibido no console. A partir desse ponto, você pode utilizar essa informação para criar o relatório da forma que melhor atenda às suas necessidades.

Para aprimorar ainda mais o seu aprendizado sobre o uso do comando Measure-Command, deixo abaixo a recomendação de leitura do seguinte artigo:

Observação: O conteúdo recomendado está em inglês, comum na área da tecnologia, utilize o tradutor para melhor compreensão.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!