Junior — Middle
Qanday qilib voqealar yoki vazifalar uchun o'rnatilgan rejalashtiruvchi ishlatilmasdan vazifalarni bajarishni amalga oshirish mumkin?
sobes.tech AI
AIdan javob
Agar vazifa rejalashtiruvchi (masalan, cron yoki o'rnatilgan taymerlar) ishlatilmasa, vazifalarni bajarish Go'da goroutine'lar va kanallar yordamida amalga oshirilishi mumkin.
Masalan, alohida goroutine ichida cheksiz sikl yaratib, ma'lum vaqt kutib, vazifani qo'lda boshlash mumkin:
package main
import (
"fmt"
"time"
)
func vazifa() {
fmt.Println("Vazifa bajarilmoqda", time.Now())
}
func main() {
go func() {
for {
vazifa()
time.Sleep(1 * time.Hour) // bajarilishlar orasidagi kechikish
}
}()
select {} // dastur tugamasligi uchun main'ni bloklaydi
}
Shu tarzda, siz o'zingiz jadvalni boshqarishingiz mumkin, ichki rejalashtiruvchilarni ishlatmasdan.