From 7e776167bbce83600ce0eb184ae4ea567c09a714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 24 Feb 2022 11:53:05 +0100 Subject: [PATCH] Manager: use api.TaskStatus in persistence layer as well --- internal/manager/api_impl/jobs.go | 6 +++--- internal/manager/persistence/jobs.go | 14 +++++++------- internal/manager/persistence/jobs_test.go | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/internal/manager/api_impl/jobs.go b/internal/manager/api_impl/jobs.go index 7e2640c9..87e7ff15 100644 --- a/internal/manager/api_impl/jobs.go +++ b/internal/manager/api_impl/jobs.go @@ -187,10 +187,10 @@ func (f *Flamenco) doTaskUpdate( if update.TaskStatus != nil { // TODO: check that this status transition is valid. // TODO: process this status transition. - newStatus := string(*update.TaskStatus) + newStatus := *update.TaskStatus logger.Info(). - Str("oldStatus", dbTask.Status). - Str("newStatus", newStatus). + Str("oldStatus", string(dbTask.Status)). + Str("newStatus", string(newStatus)). Msg("task changing status") dbTask.Status = newStatus } diff --git a/internal/manager/persistence/jobs.go b/internal/manager/persistence/jobs.go index 989e40e9..79adaa38 100644 --- a/internal/manager/persistence/jobs.go +++ b/internal/manager/persistence/jobs.go @@ -52,12 +52,12 @@ type Task struct { gorm.Model UUID string `gorm:"type:char(36);not null;unique;index"` - Name string `gorm:"type:varchar(64);not null"` - Type string `gorm:"type:varchar(32);not null"` - JobID uint `gorm:"not null"` - Job *Job `gorm:"foreignkey:JobID;references:ID;constraint:OnDelete:CASCADE;not null"` - Priority int `gorm:"type:smallint;not null"` - Status string `gorm:"type:varchar(16);not null"` + Name string `gorm:"type:varchar(64);not null"` + Type string `gorm:"type:varchar(32);not null"` + JobID uint `gorm:"not null"` + Job *Job `gorm:"foreignkey:JobID;references:ID;constraint:OnDelete:CASCADE;not null"` + Priority int `gorm:"type:smallint;not null"` + Status api.TaskStatus `gorm:"type:varchar(16);not null"` // Which worker is/was working on this. WorkerID *uint @@ -145,7 +145,7 @@ func (db *DB) StoreAuthoredJob(ctx context.Context, authoredJob job_compilers.Au UUID: authoredTask.UUID, Job: &dbJob, Priority: authoredTask.Priority, - Status: string(api.TaskStatusQueued), + Status: api.TaskStatusQueued, Commands: commands, // dependencies are stored below. } diff --git a/internal/manager/persistence/jobs_test.go b/internal/manager/persistence/jobs_test.go index 3ebf8c6e..a30d9940 100644 --- a/internal/manager/persistence/jobs_test.go +++ b/internal/manager/persistence/jobs_test.go @@ -122,7 +122,7 @@ func TestStoreAuthoredJob(t *testing.T) { } // TODO: test task contents. - assert.Equal(t, string(api.TaskStatusQueued), tasks[0].Status) - assert.Equal(t, string(api.TaskStatusQueued), tasks[1].Status) - assert.Equal(t, string(api.TaskStatusQueued), tasks[2].Status) + assert.Equal(t, api.TaskStatusQueued, tasks[0].Status) + assert.Equal(t, api.TaskStatusQueued, tasks[1].Status) + assert.Equal(t, api.TaskStatusQueued, tasks[2].Status) }