30 lines
497 B
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)
|
|
}
|
|
}
|