Junior — Middle
Ինչպե՞ս կարող ենք իրականացնել առաջադրանքների կատարմանը՝ առանց տեղադրված իրադարձությունների կամ առաջադրանքների պլանավորողի օգտագործման։
sobes.tech AI
Պատասխան AI-ից
Եթե ներսի պլանավորիչը (օրինակ՝ cron կամ ներսի ժամացույցներ) հնարավոր չէ օգտագործել, առաջադրանքների կատարմանը կարելի է իրականացնել Go-ում goroutine-ների և ալիքների միջոցով:
Օրինակ, կարող եք ստեղծել անսահման ցիկլ առանձին goroutine-ում, որը կսպասի որոշ ժամանակ և ձեռքով կմեկնարկի առաջադրանքը:
package main
import (
"fmt"
"time"
)
func առաջադրանք() {
fmt.Println("Արագացման առաջադրանք", time.Now())
}
func main() {
go func() {
for {
առաջադրանք()
time.Sleep(1 * time.Hour) // սպասում միջեւ կատարումների
}
}()
select {} // արգելափակում է main-ը, որպեսզի ծրագիրը չավարտվի
}
Այս կերպ, դուք կարող եք ինքնուրույն կառավարել ժամանակացույցը, առանց ներսի պլանավորիչների օգտագործման։