Sobes.tech
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 да се програм не заврши
}

На овај начин можете сами управљати распоредом, без коришћења уграђених планера.