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.