Sobes.tech
Back to questions
Junior — Middle
78

Как можно реализовать выполнение задач без применения встроенного планировщика событий или задач?

Companies where asked
Цифровая Эволюция

Answer from 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, чтобы программа не завершилась
}

Таким образом, можно самостоятельно управлять расписанием, не используя встроенные планировщики.