Skip to content

Commit 28687a2

Browse files
authored
chore(queue): don't allocate new message (#102)
1 parent 2190832 commit 28687a2

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

Diff for: job/job.go

+9
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,15 @@ func (m *Message) Encode() []byte {
4747
return b
4848
}
4949

50+
// Rest for reset default value
51+
func (m *Message) Rest() {
52+
m.Task = nil
53+
m.Payload = nil
54+
m.RetryCount = 0
55+
m.Timeout = 0
56+
m.RetryDelay = 0
57+
}
58+
5059
func NewMessage(m core.QueuedMessage, opts ...AllowOption) *Message {
5160
o := NewOptions(opts...)
5261

Diff for: queue.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,11 @@ func (q *Queue) Queue(m core.QueuedMessage, opts ...job.AllowOption) error {
120120
}
121121

122122
message := job.NewMessage(m, opts...)
123+
payload := message.Encode()
124+
message.Rest()
125+
message.Payload = payload
123126

124-
if err := q.worker.Queue(&job.Message{
125-
Payload: message.Encode(),
126-
}); err != nil {
127+
if err := q.worker.Queue(message); err != nil {
127128
return err
128129
}
129130

0 commit comments

Comments
 (0)