From 3110db7b9813e503cd87f477ee1c5e6c346a3191 Mon Sep 17 00:00:00 2001 From: Jason Berlinsky Date: Fri, 30 Mar 2018 15:11:36 -0400 Subject: [PATCH] When processes fail, provide a stacktrace to the Resque failure queue --- worker.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/worker.go b/worker.go index cecd34fd..41af05aa 100644 --- a/worker.go +++ b/worker.go @@ -2,8 +2,8 @@ package goworker import ( "encoding/json" - "errors" "fmt" + "github.com/go-errors/errors" "sync" "time" ) @@ -49,7 +49,7 @@ func (w *worker) fail(conn *RedisConn, job *Job, err error) error { FailedAt: time.Now(), Payload: job.Payload, Exception: "Error", - Error: err.Error(), + Error: err.(*errors.Error).ErrorStack(), Worker: w, Queue: job.Queue, } @@ -71,7 +71,7 @@ func (w *worker) succeed(conn *RedisConn, job *Job) error { func (w *worker) finish(conn *RedisConn, job *Job, err error) error { if err != nil { - w.fail(conn, job, err) + w.fail(conn, job, errors.Wrap(err, 1)) } else { w.succeed(conn, job) }