Sobes.tech
Junior — Middle

Daxili hadisələr və ya tapşırıq planlayıcısı istifadə etmədən tapşırıqların yerinə yetirilməsini necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Əgər daxili planlayıcı (məsələn, cron və ya daxili taymerlər) istifadə edilə bilməzsə, tapşırıqların icrası Go'da goroutine və kanallar vasitəsilə həyata keçirilə bilər.

Məsələn, ayrı bir goroutine-də sonsuz dövr yarada bilərsiniz, müəyyən vaxt gözləyib, tapşırığı əl ilə başlada bilərsiniz:

package main

import (
    "fmt"
    "time"
)

func tapşırıq() {
    fmt.Println("Tapşırıq icra edilir", time.Now())
}

func main() {
    go func() {
        for {
            tapşırıq()
            time.Sleep(1 * time.Hour) // icra arasındakı gecikmə
        }
    }()

    select {} // proqramın bitməməsi üçün main-i bloklayır
}

Bu şəkildə, planlaşdırmanı özünüz idarə edə bilərsiniz, daxili planlayıcılar istifadə etmədən.