Manager: use api.TaskStatus in persistence layer as well

This commit is contained in:
Sybren A. Stüvel 2022-02-24 11:53:05 +01:00
parent 4cd10e57b2
commit 7e776167bb
3 changed files with 13 additions and 13 deletions

View File

@ -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
}

View File

@ -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.
}

View File

@ -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)
}