Junior — Middle
Come si può implementare l'esecuzione di compiti senza utilizzare il pianificatore di eventi o di attività integrato?
sobes.tech AI
Risposta dell'AI
Se non è possibile utilizzare il pianificatore di attività integrato (ad esempio, cron o timer integrati), l'esecuzione delle attività può essere implementata utilizzando goroutine e canali in Go.
Ad esempio, si può creare un ciclo infinito in una goroutine separata, che attende un certo tempo e avvia manualmente l'attività:
package main
import (
"fmt"
"time"
)
func compito() {
fmt.Println("Esecuzione del compito", time.Now())
}
func main() {
go func() {
for {
compito()
time.Sleep(1 * time.Hour) // ritardo tra le esecuzioni
}
}()
select {} // blocca il main affinché il programma non termini
}
In questo modo, puoi gestire tu stesso la pianificazione senza usare pianificatori integrati.