Junior — Middle
99
Ішкі оқиға немесе тапсырма жоспарлағышын қолданбай тапсырмаларды қалай орындауға болады?
Сұралған компаниялар
Цифровая Эволюция
AI-дан жауап
sobes.tech AI
Если нельзя использовать встроенный планировщик задач (например, cron или встроенные таймеры), выполнение задач можно реализовать с помощью горутин и каналов в Go.
Например, можно создать бесконечный цикл в отдельной горутине, который будет ждать определённое время и запускать задачу вручную:
package main
import (
"fmt"
"time"
)
func task() {
fmt.Println("Выполнение задачи", time.Now())
}
func main() {
go func() {
for {
task()
time.Sleep(1 * time.Hour) // задержка между выполнениями
}
}()
select {} // блокируем main, чтобы программа не завершилась
}
Таким образом, можно самостоятельно управлять расписанием, не используя встроенные планировщики.