Junior — Middle
Kā īstenot konteksta laika ierobežojumu jūsu Go lietojumprogrammā?
sobes.tech AI
Atbilde no AI
Go valodā, lai īstenotu konteksta laika ierobežojumu, tiek izmantots context pakets. Konteksts ar laika ierobežojumu tiek izveidots ar funkciju context.WithTimeout, kas atgriež jaunu kontekstu un atcelšanas funkciju.
Piemērs:
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("darbība pabeigta")
case <-ctx.Done():
fmt.Println("laika limits vai konteksta atcelšana:", ctx.Err())
}
Šajā piemērā, ja darbība ilgst vairāk nekā 2 sekundes, konteksts tiek atcelts un laika limits var tikt pārvaldīts. Tas ir noderīgi funkciju, pieprasījumu izpildes laika ierobežošanai.