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!
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!
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!