es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Calcular el tiempo transcurrido para una tarea en Azure Pipeline utilizando tareas de PowerShell en línea.

Estoy tratando de calcular el tiempo transcurrido para una tarea en Azure Pipeline utilizando la tarea PowerShell en modo inline. La configuración simplificada se muestra en la imagen adjunta. El código en línea se menciona a continuación. Estoy obteniendo el siguiente error especificado.

Calculando el tiempo transcurrido...
No se encontró una sobrecarga para "opSubtraction" y el recuento de argumentos: "2".
En D:\a_temp\ba6b91f4-ef47-4a51-8088-efc6bcda310d.ps1:5 carácter:1
+ $durationmin = $end<em>time - $start</em>time
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

¿Cuál es el enfoque correcto para medir el tiempo transcurrido de una tarea de compilación? Configuración de la canalización: [Código en la tarea de powershell en línea "Obtener hora de inicio"](https://i.stack.imgur.com/mVFcT.jpg) [Imagen de la configuración de la canalización](https://i.stack.imgur.com/mVFcT.jpg) Código en la tarea de powershell en línea "Calcular tiempo transcurrido":

Write-Host “Calculando el tiempo transcurrido…”
$end_time = Get-Date
$duration_min = $end_time – $start_time
Write-Host (“Tiempo total transcurrido en minutos:”, $duration_min.TotalMinutes)
“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema con el código es que el resultado de la operación de resta $end_time - $start_time no es un simple número, sino un objeto TimeSpan. Para obtener los minutos totales transcurridos, debes acceder a la propiedad TotalMinutes del objeto TimeSpan. Para solucionar el error, modifica el script Calcular tiempo transcurrido de la siguiente manera:

    Write-Host "Calculando tiempo transcurrido..."
    $end_time = Get-Date
    $duration = $end_time - $start_time
    $duration_in_minutes = $duration.TotalMinutes
    Write-Host "Tiempo total transcurrido en minutos: $duration_in_minutes"
    

    Este script calcula el tiempo transcurrido en minutos y lo muestra como una cadena utilizando interpolación de cadenas.

Comments are closed.