Sobes.tech
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.