/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
internal/workers/scheduler.go
53 строки
925 B
Michael Mayer
Workers: Apply "golangci-lint" recommendations #5330
22 ноя 2025, 12:22
22 ноя 2025, 12:22
cc651a8
Код
Авторство
О чём код?
package workers import ( "fmt" "github.com/go-co-op/gocron/v2" ) var ( // Jobs keeps the scheduled background jobs keyed by name. Jobs map[string]gocron.Job // Scheduler is the shared job scheduler instance. Scheduler gocron.Scheduler ) func init() { Jobs = make(map[string]gocron.Job) } // NewJob adds a new background job to the scheduler, see https://pkg.go.dev/github.com/go-co-op/gocron/v2. func NewJob(name, schedule string, function func(), parameters ...any) error { if schedule == "" { return nil } if name == "" { return fmt.Errorf("new job requires a name") } if function == nil { return fmt.Errorf("new job requires a task to run") } job, err := Scheduler.NewJob( gocron.CronJob( schedule, false, ), gocron.NewTask( function, parameters..., ), gocron.WithSingletonMode(gocron.LimitModeWait), ) if err != nil { return err } Jobs[name] = job return nil }