Sobes.tech
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.