fix: inaccurate miss schedule times of cronjob v2.

Signed-off-by: SimonCqk <cqk0100@gmail.com>
This commit is contained in:
SimonCqk 2021-04-13 13:59:27 +08:00
parent ed3e0d302f
commit b9d9cc38b5

View File

@ -154,9 +154,9 @@ func getRecentUnmetScheduleTimes(cj batchv1.CronJob, now time.Time) ([]time.Time
// If there are too many (>100) unstarted times, it will raise a warning and but still return // If there are too many (>100) unstarted times, it will raise a warning and but still return
// the list of missed times. // the list of missed times.
func getNextScheduleTime(cj batchv1.CronJob, now time.Time, schedule cron.Schedule, recorder record.EventRecorder) (*time.Time, error) { func getNextScheduleTime(cj batchv1.CronJob, now time.Time, schedule cron.Schedule, recorder record.EventRecorder) (*time.Time, error) {
starts := []time.Time{} var (
earliestTime time.Time
var earliestTime time.Time )
if cj.Status.LastScheduleTime != nil { if cj.Status.LastScheduleTime != nil {
earliestTime = cj.Status.LastScheduleTime.Time earliestTime = cj.Status.LastScheduleTime.Time
} else { } else {
@ -200,8 +200,8 @@ func getNextScheduleTime(cj batchv1.CronJob, now time.Time, schedule cron.Schedu
// //
// I've somewhat arbitrarily picked 100, as more than 80, // I've somewhat arbitrarily picked 100, as more than 80,
// but less than "lots". // but less than "lots".
recorder.Eventf(&cj, corev1.EventTypeWarning, "TooManyMissedTimes", "too many missed start times: %d. Set or decrease .spec.startingDeadlineSeconds or check clock skew", len(starts)) recorder.Eventf(&cj, corev1.EventTypeWarning, "TooManyMissedTimes", "too many missed start times: %d. Set or decrease .spec.startingDeadlineSeconds or check clock skew", numberOfMissedSchedules)
klog.InfoS("too many missed times", "cronjob", klog.KRef(cj.GetNamespace(), cj.GetName()), "missed times", len(starts)) klog.InfoS("too many missed times", "cronjob", klog.KRef(cj.GetNamespace(), cj.GetName()), "missed times", numberOfMissedSchedules)
} }
return t, err return t, err
} }