Junior — Middle
Cum se poate implementa executarea sarcinilor fără a folosi planificatorul de evenimente sau de sarcini încorporat?
sobes.tech AI
Răspuns de la AI
Dacă nu se poate utiliza planificatorul de sarcini încorporat (de exemplu, cron sau temporizatoare încorporate), executarea sarcinilor poate fi realizată cu ajutorul goroutine-urilor și canalelor în Go.
De exemplu, se poate crea un ciclu infinit într-o goroutine separată, care așteaptă o anumită perioadă de timp și pornește sarcina manual:
package main
import (
"fmt"
"time"
)
func sarcina() {
fmt.Println("Executarea sarcinii", time.Now())
}
func main() {
go func() {
for {
sarcina()
time.Sleep(1 * time.Hour) // întârziere între execuții
}
}()
select {} // blochează main-ul pentru ca programul să nu se încheie
}
Astfel, poți gestiona singur programarea, fără a folosi planificatori încorporați.