Manager: better logging of schedule changes
Log more details of schedule changes, from within the sleep scheduler (instead of the API implementation).
This commit is contained in:
parent
3def3d2260
commit
5eb57427fc
@ -65,11 +65,11 @@ func (f *Flamenco) SetWorkerSleepSchedule(e echo.Context, workerUUID string) err
|
||||
DaysOfWeek: schedule.DaysOfWeek,
|
||||
}
|
||||
if err := dbSchedule.StartTime.Scan(schedule.StartTime); err != nil {
|
||||
logger.Warn().Err(err).Msg("bad request received, cannot parse schedule start time")
|
||||
logger.Warn().Interface("schedule", schedule).Err(err).Msg("bad request received, cannot parse schedule start time")
|
||||
return sendAPIError(e, http.StatusBadRequest, "invalid format for schedule start time")
|
||||
}
|
||||
if err := dbSchedule.EndTime.Scan(schedule.EndTime); err != nil {
|
||||
logger.Warn().Err(err).Msg("bad request received, cannot parse schedule end time")
|
||||
logger.Warn().Interface("schedule", schedule).Err(err).Msg("bad request received, cannot parse schedule end time")
|
||||
return sendAPIError(e, http.StatusBadRequest, "invalid format for schedule end time")
|
||||
}
|
||||
|
||||
@ -84,6 +84,5 @@ func (f *Flamenco) SetWorkerSleepSchedule(e echo.Context, workerUUID string) err
|
||||
return sendAPIError(e, http.StatusInternalServerError, "error fetching sleep schedule: %v", err)
|
||||
}
|
||||
|
||||
logger.Info().Interface("schedule", schedule).Msg("worker sleep schedule updated")
|
||||
return e.NoContent(http.StatusNoContent)
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/benbjohnson/clock"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
"git.blender.org/flamenco/internal/manager/persistence"
|
||||
@ -80,6 +81,11 @@ func (ss *SleepScheduler) SetSchedule(ctx context.Context, workerUUID string, sc
|
||||
return fmt.Errorf("persisting sleep schedule of worker %s: %w", workerUUID, err)
|
||||
}
|
||||
|
||||
logger := addLoggerFields(zerolog.Ctx(ctx), schedule)
|
||||
logger.Info().
|
||||
Str("worker", schedule.Worker.Identifier()).
|
||||
Msg("sleep scheduler: new schedule for worker")
|
||||
|
||||
return ss.ApplySleepSchedule(ctx, schedule)
|
||||
}
|
||||
|
||||
@ -239,3 +245,19 @@ func (ss *SleepScheduler) mayUpdateWorker(worker *persistence.Worker) bool {
|
||||
shouldSkip := skipWorkersInStatus[worker.Status]
|
||||
return !shouldSkip
|
||||
}
|
||||
|
||||
func addLoggerFields(logger *zerolog.Logger, schedule *persistence.SleepSchedule) zerolog.Logger {
|
||||
logCtx := logger.With()
|
||||
|
||||
if schedule.Worker != nil {
|
||||
logCtx = logCtx.Str("worker", schedule.Worker.Identifier())
|
||||
}
|
||||
|
||||
logCtx = logCtx.
|
||||
Bool("isActive", schedule.IsActive).
|
||||
Str("daysOfWeek", schedule.DaysOfWeek).
|
||||
Stringer("startTime", schedule.StartTime).
|
||||
Stringer("endTime", schedule.EndTime)
|
||||
|
||||
return logCtx.Logger()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user