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.