diff --git a/job/job.go b/job/job.go index 54e4d4b..609d1cc 100644 --- a/job/job.go +++ b/job/job.go @@ -47,6 +47,15 @@ func (m *Message) Encode() []byte { return b } +// Rest for reset default value +func (m *Message) Rest() { + m.Task = nil + m.Payload = nil + m.RetryCount = 0 + m.Timeout = 0 + m.RetryDelay = 0 +} + func NewMessage(m core.QueuedMessage, opts ...AllowOption) *Message { o := NewOptions(opts...) diff --git a/queue.go b/queue.go index 68a192b..44dfdc1 100644 --- a/queue.go +++ b/queue.go @@ -120,10 +120,11 @@ func (q *Queue) Queue(m core.QueuedMessage, opts ...job.AllowOption) error { } message := job.NewMessage(m, opts...) + payload := message.Encode() + message.Rest() + message.Payload = payload - if err := q.worker.Queue(&job.Message{ - Payload: message.Encode(), - }); err != nil { + if err := q.worker.Queue(message); err != nil { return err }