Junior — Middle
Hoe kan het uitvoeren van taken worden geïmplementeerd zonder gebruik te maken van de ingebouwde gebeurtenis- of taakplanner?
sobes.tech AI
Antwoord van AI
Als de ingebouwde taakplanner (bijvoorbeeld cron of ingebouwde timers) niet kan worden gebruikt, kan het uitvoeren van taken worden gerealiseerd met behulp van goroutines en kanalen in Go.
Bijvoorbeeld, je kunt een oneindige lus maken in een aparte goroutine, die een bepaalde tijd wacht en de taak handmatig start:
package main
import (
"fmt"
"time"
)
func taak() {
fmt.Println("Taak uitvoeren", time.Now())
}
func main() {
go func() {
for {
taak()
time.Sleep(1 * time.Hour) // vertraging tussen uitvoeringen
}
}()
select {} // blokkeert main zodat het programma niet eindigt
}
Op deze manier kun je zelf de planning beheren, zonder ingebouwde planners te gebruiken.