Sobes.tech
Junior — Middle

Milyen paraméterek állíthatók be a feladatütemező működéséhez?

sobes.tech MI

Válasz az MI-től

Go-ban a feladatok ütemezéséhez gyakran használnak olyan csomagokat, mint például a time (pl. time.Ticker, time.Timer) vagy külső könyvtárakat (pl. robfig/cron). A feladatütemező fő konfigurálható paraméterei a következők:

  • Végrehajtási intervallum — milyen gyakran induljon a feladat (pl. másodpercenként, percenként).
  • Indítási idő — konkrét idő vagy ütemezés (pl. cron kifejezések).
  • Párhuzamos indítások száma — a párhuzamos végrehajtások korlátozása.
  • Hiba kezelése — mit tegyen, ha a feladat hibával végződik (újrapróbálás, naplózás).
  • Megszakítási kontextus — lehetőség a feladat leállítására context.Context segítségével.

Példa a time.Ticker használatával:

ticker := time.NewTicker(1 * time.Minute)
quit := make(chan struct{})
func() {
    for {
        select {
        case <- ticker.C:
            // feladatkód
        case <- quit:
            ticker.Stop()
            return
        }
    }
}()