Junior — Middle
Kako implementirati izvršavanje zadataka bez korišćenja ugrađenog planera događaja ili zadataka?
sobes.tech АИ
Одговор од АИ
Ако не можете да користите уграђени планер задатака (на пример, cron или уграђени таймери), извршавање задатака може се реализовати помоћу goroutine-ја и канала у Go.
На пример, можете креирати бесконачну петљу у посебној goroutine-ји, која ће чекати одређено време и ручно покретати задатак:
package main
import (
"fmt"
"time"
)
func zadatak() {
fmt.Println("Извршавање задатка", time.Now())
}
func main() {
go func() {
for {
zadatak()
time.Sleep(1 * time.Hour) // закашњење између извршења
}
}()
select {} // блокира main да се програм не заврши
}
На овај начин можете сами управљати распоредом, без коришћења уграђених планера.