pop-camarades/helpers/jobs.go

30 lines
497 B
Go

package helpers
import (
"time"
)
func RegisterJob(interval time.Duration, name string, job func(string) error) {
log := GetLogger()
log.Info(
"registering job",
"name", name,
"interval", interval,
)
for {
go func(job func(string) error, name string) {
log := GetLogger()
log.Info("starting job", "name", name)
err := job(name)
if err != nil {
log.Error(err, "job", name)
}
log.Info("job finished", "name", name)
}(job, name)
time.Sleep(interval)
}
}