Sobes.tech
Senior

Postoji funkcija `unpredictableFunc()`, koju treba obuhvatiti tako da se izvršava sa timeout-om (na primer, 1 sekunda) i da se beleži vreme izvršenja. // Postoji funkcija koja radi neograničeno dugo i vraća broj. // Nije dozvoljeno menjati njen sadržaj (pretpostavimo da je unutar mrežni zahtev). func unpredictableFunc() int64 { rnd := rand.Int63n(5000) time.Sleep(time.Duration(rnd) * time.Millisecond) return rnd } // Potrebno je izmeniti funkciju za obuhvat, koja će raditi sa zadatim timeout-om (na primer, 1 sekunda). // Ako "duga" funkcija završi u tom vremenu, odlično, vraćamo rezultat. // Ako ne, vraćamo grešku. Rezultat rada u tom slučaju nije važan. // // Takođe, treba izmeriti koliko je vremena trajalo izvršenje ove funkcije (jednostavno ispisati u log). // Potpis funkcije za obuhvat može biti izmenjen. func predictableFunc() int64 { return unpredictableFunc() }