spiegel/internal/cron/start.go
Ada ae1fc6c8d4
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
💄 Pass linter
2024-04-08 03:29:41 +02:00

29 lines
690 B
Go

package cron
import (
"time"
"git.gnous.eu/ada/git-mirror/internal/git"
"github.com/sirupsen/logrus"
)
// start a regular background tasks.
func start(duration time.Duration, fn func(), name string) {
for {
time.Sleep(duration)
logrus.Info("Begin update job for: ", name)
fn()
logrus.Debug("Finished update job for: ", name)
}
}
// Launch all repo update background tasks.
func Launch(duration time.Duration, config []git.RepoConfig) {
var counter int
for _, content := range config {
counter++
logrus.Debug("Launch background tasks for: ", content.Name)
go start(duration, content.Update, content.Name)
}
logrus.Info("Started: ", counter, " background tasks")
}