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
|
||||
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 {
|
||||
|
@ -92,7 +92,7 @@ func (f *Flamenco) SignOn(e echo.Context) error {
|
||||
|
||||
w := requestWorkerOrPanic(e)
|
||||
w.Status = api.WorkerStatusStarting
|
||||
err = f.persist.SaveWorker(e.Request().Context(), w)
|
||||
err = f.persist.SaveWorkerStatus(e.Request().Context(), w)
|
||||
if err != nil {
|
||||
logger.Warn().Err(err).
|
||||
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
|
||||
// background context, as this should be stored even when the HTTP connection
|
||||
// is aborted.
|
||||
err = f.persist.SaveWorker(e.Request().Context(), w)
|
||||
err = f.persist.SaveWorkerStatus(e.Request().Context(), w)
|
||||
if err != nil {
|
||||
logger.Warn().
|
||||
Err(err).
|
||||
@ -159,7 +159,7 @@ func (f *Flamenco) WorkerStateChanged(e echo.Context) error {
|
||||
|
||||
w := requestWorkerOrPanic(e)
|
||||
w.Status = req.Status
|
||||
err = f.persist.SaveWorker(e.Request().Context(), w)
|
||||
err = f.persist.SaveWorkerStatus(e.Request().Context(), w)
|
||||
if err != nil {
|
||||
logger.Warn().Err(err).
|
||||
Str("newStatus", string(w.Status)).
|
||||
|
@ -60,8 +60,8 @@ func (db *DB) FetchWorker(ctx context.Context, uuid string) (*Worker, error) {
|
||||
return &w, nil
|
||||
}
|
||||
|
||||
func (db *DB) SaveWorker(ctx context.Context, w *Worker) error {
|
||||
if err := db.gormDB.Save(w).Error; err != nil {
|
||||
func (db *DB) SaveWorkerStatus(ctx context.Context, w *Worker) error {
|
||||
if err := db.gormDB.Model(w).Updates(Worker{Status: w.Status}).Error; err != nil {
|
||||
return fmt.Errorf("error saving worker: %v", err)
|
||||
}
|
||||
return nil
|
||||
|
Loading…
x
Reference in New Issue
Block a user