From fd0b421276bb802cb5f009a5901c0c159749b82b Mon Sep 17 00:00:00 2001 From: simon987 Date: Sat, 6 Apr 2019 09:31:53 -0400 Subject: [PATCH] Error handling --- storage/error.go | 4 +++- storage/task.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/storage/error.go b/storage/error.go index 3a31bc5..b765a90 100644 --- a/storage/error.go +++ b/storage/error.go @@ -1,7 +1,9 @@ package storage +import "github.com/sirupsen/logrus" + func handleErr(err error) { if err != nil { - panic(err) + logrus.WithError(err).Fatal("Error during database operation!") } } diff --git a/storage/task.go b/storage/task.go index 150b658..ff2ad7a 100644 --- a/storage/task.go +++ b/storage/task.go @@ -76,7 +76,9 @@ func (database Database) ReleaseTask(id int64, workerId int64, result TaskResult row := db.QueryRow(fmt.Sprintf(`SELECT release_task_ok(%d,%d,%d)`, workerId, id, verification)) err := row.Scan(&taskUpdated) - handleErr(err) + if err != nil { + taskUpdated = false + } } else if result == TR_FAIL { res, err := db.Exec(`UPDATE task SET (status, assignee, retries) = (CASE WHEN retries+1 >= max_retries THEN 2 ELSE 1 END, NULL, retries+1)