Junior — Middle
Kā var īstenot uzdevumu izpildi bez iebūvēta notikumu vai uzdevumu plānotāja?
sobes.tech AI
Atbilde no AI
Ja nevar izmantot iebūvēto uzdevumu plānotāju (piemēram, cron vai iebūvētos taimerus), uzdevumu izpildi var realizēt, izmantojot goroutines un kanālus Go valodā.
Piemēram, var izveidot bezgalīgu ciklu atsevišķā goroutine, kas gaidīs noteiktu laiku un manuāli uzsāks uzdevumu:
package main
import (
"fmt"
"time"
)
func uzdevums() {
fmt.Println("Uzdevuma izpilde", time.Now())
}
func main() {
go func() {
for {
uzdevums()
time.Sleep(1 * time.Hour) // aizkave starp izpildēm
}
}()
select {} // bloķē main, lai programma nebeigtos
}
Šādā veidā jūs varat pats pārvaldīt grafiku, neizmantojot iebūvētos plānotājus.