Junior — Middle
Como é que se pode determinar que uma consulta específica está a ser executada com atraso?
sobes.tech IA
Resposta da IA
Para determinar se uma solicitação específica está a atrasar-se em Go, pode medir o tempo de execução da solicitação usando o pacote time.
Exemplo:
package main
import (
"fmt"
"net/http"
"time"
)
func main() {
start := time.Now()
resp, err := http.Get("https://example.com")
if err != nil {
fmt.Println("Erro na solicitação:", err)
return
}
defer resp.Body.Close()
duration := time.Since(start)
fmt.Printf("Tempo de execução da solicitação: %v\n", duration)
// Se o tempo for maior que o limite, consideramos que há atraso
threshold := 500 * time.Millisecond
if duration > threshold {
fmt.Println("A solicitação está atrasada")
} else {
fmt.Println("Solicitação rápida")
}
}
Desta forma, medindo o tempo desde o início até ao final da solicitação, pode determinar se ela excede o limite permitido e considerá-la "atrasada".