Improve dashboard health and state recovery
This commit is contained in:
@@ -14,6 +14,21 @@ type Enqueue func(model.Job) error
|
||||
type EnqueueMaintenance func(string, string) (model.Run, error)
|
||||
type LastRun func(string) time.Time
|
||||
|
||||
func PreviousScheduled(spec, timezone string, now time.Time, window time.Duration) (time.Time, error) {
|
||||
expression, err := Parse(spec)
|
||||
if err != nil {
|
||||
return time.Time{}, err
|
||||
}
|
||||
loc := time.Local
|
||||
if timezone != "" {
|
||||
loc, err = time.LoadLocation(timezone)
|
||||
if err != nil {
|
||||
return time.Time{}, err
|
||||
}
|
||||
}
|
||||
return previous(expression, now.In(loc), window).UTC(), nil
|
||||
}
|
||||
|
||||
type Scheduler struct {
|
||||
config ConfigProvider
|
||||
enqueue Enqueue
|
||||
|
||||
Reference in New Issue
Block a user