Pass a logger instead of embedding on job (#24650)

* pass a logger instead of embedding on job

* leverage mlog.Millis

* use worker logger with HandleJobPanic

* rely on existing LogClone instead

* guard Job.LogClone against nil Job

* s/workername/worker_name

* Revert "rely on existing LogClone instead"

This reverts commit 17303cbac90d4b01815abca1309b78b97de368fb.

* Revert "guard Job.LogClone against nil Job"

This reverts commit f1ae22dee58d76f084582857830ffe8d4c546d7e.
Этот коммит содержится в:
Jesse Hallam
2023-10-09 11:04:55 -03:00
коммит произвёл GitHub
родитель aa172294bd
Коммит 47bfa2b66b
31 изменённых файлов: 223 добавлений и 264 удалений

Просмотреть файл

@@ -55,6 +55,8 @@ func (scheduler *Scheduler) ScheduleJob(c *request.Context, cfg *model.Config, p
return nil, nil
}
logger := c.Logger().With(jobs.JobLoggerFields(job)...)
if state == MigrationStateCompleted {
// This migration is done. Continue to check the next.
continue
@@ -63,9 +65,9 @@ func (scheduler *Scheduler) ScheduleJob(c *request.Context, cfg *model.Config, p
if state == MigrationStateInProgress {
// Check the migration job isn't wedged.
if job != nil && job.LastActivityAt < model.GetMillis()-MigrationJobWedgedTimeoutMilliseconds && job.CreateAt < model.GetMillis()-MigrationJobWedgedTimeoutMilliseconds {
job.Logger.Warn("Job appears to be wedged. Rescheduling another instance.", mlog.String("scheduler", model.JobTypeMigrations), mlog.String("wedged_job_id", job.Id), mlog.String("migration_key", key))
logger.Warn("Job appears to be wedged. Rescheduling another instance.", mlog.String("scheduler", model.JobTypeMigrations), mlog.String("migration_key", key))
if err := scheduler.jobServer.SetJobError(job, nil); err != nil {
job.Logger.Error("Worker: Failed to set job error", mlog.String("scheduler", model.JobTypeMigrations), mlog.Err(err))
logger.Error("Worker: Failed to set job error", mlog.String("scheduler", model.JobTypeMigrations), mlog.Err(err))
}
return scheduler.createJob(c, key, job)
}
@@ -74,16 +76,11 @@ func (scheduler *Scheduler) ScheduleJob(c *request.Context, cfg *model.Config, p
}
if state == MigrationStateUnscheduled {
// GetMigrationState can return a nil job
logger := scheduler.jobServer.Logger()
if job != nil {
logger = job.Logger
}
logger.Debug("Scheduling a new job for migration.", mlog.String("scheduler", model.JobTypeMigrations), mlog.String("migration_key", key))
return scheduler.createJob(c, key, job)
}
job.Logger.Error("Unknown migration state. Not doing anything.", mlog.String("migration_state", state))
logger.Error("Unknown migration state. Not doing anything.", mlog.String("migration_state", state))
return nil, nil
}