Only update status field in DB when worker changes status
This commit is contained in:
parent
be89349632
commit
2ca8858c28
@ -42,7 +42,7 @@ type PersistenceService interface {
|
|||||||
|
|
||||||
CreateWorker(ctx context.Context, w *persistence.Worker) error
|
CreateWorker(ctx context.Context, w *persistence.Worker) error
|
||||||
FetchWorker(ctx context.Context, uuid string) (*persistence.Worker, error)
|
FetchWorker(ctx context.Context, uuid string) (*persistence.Worker, error)
|
||||||
SaveWorker(ctx context.Context, w *persistence.Worker) error
|
SaveWorkerStatus(ctx context.Context, w *persistence.Worker) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type JobCompiler interface {
|
type JobCompiler interface {
|
||||||
|
@ -92,7 +92,7 @@ func (f *Flamenco) SignOn(e echo.Context) error {
|
|||||||
|
|
||||||
w := requestWorkerOrPanic(e)
|
w := requestWorkerOrPanic(e)
|
||||||
w.Status = api.WorkerStatusStarting
|
w.Status = api.WorkerStatusStarting
|
||||||
err = f.persist.SaveWorker(e.Request().Context(), w)
|
err = f.persist.SaveWorkerStatus(e.Request().Context(), w)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Warn().Err(err).
|
logger.Warn().Err(err).
|
||||||
Str("newStatus", string(w.Status)).
|
Str("newStatus", string(w.Status)).
|
||||||
@ -125,7 +125,7 @@ func (f *Flamenco) SignOff(e echo.Context) error {
|
|||||||
// TODO: check whether we should pass the request context here, or a generic
|
// TODO: check whether we should pass the request context here, or a generic
|
||||||
// background context, as this should be stored even when the HTTP connection
|
// background context, as this should be stored even when the HTTP connection
|
||||||
// is aborted.
|
// is aborted.
|
||||||
err = f.persist.SaveWorker(e.Request().Context(), w)
|
err = f.persist.SaveWorkerStatus(e.Request().Context(), w)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Warn().
|
logger.Warn().
|
||||||
Err(err).
|
Err(err).
|
||||||
@ -159,7 +159,7 @@ func (f *Flamenco) WorkerStateChanged(e echo.Context) error {
|
|||||||
|
|
||||||
w := requestWorkerOrPanic(e)
|
w := requestWorkerOrPanic(e)
|
||||||
w.Status = req.Status
|
w.Status = req.Status
|
||||||
err = f.persist.SaveWorker(e.Request().Context(), w)
|
err = f.persist.SaveWorkerStatus(e.Request().Context(), w)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Warn().Err(err).
|
logger.Warn().Err(err).
|
||||||
Str("newStatus", string(w.Status)).
|
Str("newStatus", string(w.Status)).
|
||||||
|
@ -60,8 +60,8 @@ func (db *DB) FetchWorker(ctx context.Context, uuid string) (*Worker, error) {
|
|||||||
return &w, nil
|
return &w, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *DB) SaveWorker(ctx context.Context, w *Worker) error {
|
func (db *DB) SaveWorkerStatus(ctx context.Context, w *Worker) error {
|
||||||
if err := db.gormDB.Save(w).Error; err != nil {
|
if err := db.gormDB.Model(w).Updates(Worker{Status: w.Status}).Error; err != nil {
|
||||||
return fmt.Errorf("error saving worker: %v", err)
|
return fmt.Errorf("error saving worker: %v", err)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user