Sobes.tech
Junior — Middle

Como pode implementar a execução de tarefas sem usar o agendador de eventos ou tarefas incorporado?

sobes.tech IA

Resposta da IA

Se não for possível usar o agendador de tarefas incorporado (por exemplo, cron ou temporizadores incorporados), a execução de tarefas pode ser implementada usando goroutines e canais em Go.

Por exemplo, pode criar um ciclo infinito numa goroutine separada, que espera um determinado tempo e executa a tarefa manualmente:

package main

import (
    "fmt"
    "time"
)

func tarefa() {
    fmt.Println("Execução da tarefa", time.Now())
}

func main() {
    go func() {
        for {
            tarefa()
            time.Sleep(1 * time.Hour) // atraso entre execuções
        }
    }()

    select {} // bloqueia o main para que o programa não termine
}

Desta forma, pode gerir o agendamento por si próprio, sem usar agendadores incorporados.