Junior — Middle
Jak lze realizovat vykonávání úkolů bez použití vestavěného plánovače událostí nebo úkolů?
sobes.tech AI
Odpověď od AI
Pokud nelze použít vestavěný plánovač úloh (například cron nebo vestavěné časovače), lze vykonávání úloh realizovat pomocí gorutin a kanálů v Go.
Například lze vytvořit nekonečný cyklus v samostatné gorutině, která bude čekat stanovenou dobu a spustí úlohu ručně:
package main
import (
"fmt"
"time"
)
func úloha() {
fmt.Println("Vykonání úlohy", time.Now())
}
func main() {
go func() {
for {
úloha()
time.Sleep(1 * time.Hour) // zpoždění mezi vykonáními
}
}()
select {} // blokuje main, aby program neskončil
}
Tímto způsobem můžete sami spravovat rozvrh, aniž byste používali vestavěné plánovače.