spiegel/internal/cron/start.go
Ada 6d1179f98e
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
💅 find a new name
2024-04-08 03:56:21 +02:00

29 lines
687 B
Go

package cron
import (
"time"
"git.gnous.eu/ada/spiegel/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")
}