Name the worker a piece of work came from, so a bundle taking two is handed each to its own handler
This commit is contained in:
@@ -195,6 +195,7 @@ func (c *Conn) SeatAnswer(module, subject string, answer func(subject string, bo
|
||||
|
||||
// Work is one message a holder took from a seat's work queue.
|
||||
type Work struct {
|
||||
Worker string `json:"worker"`
|
||||
Subject string `json:"subject"`
|
||||
Body json.RawMessage `json:"body"`
|
||||
Headers map[string]string `json:"headers,omitempty"`
|
||||
@@ -241,7 +242,7 @@ func (c *Conn) SeatTake(module, consumer string, deliver func(Work) error) (func
|
||||
for k := range msg.Headers() {
|
||||
headers[k] = msg.Headers().Get(k)
|
||||
}
|
||||
if err := deliver(Work{Subject: msg.Subject(), Body: json.RawMessage(msg.Data()), Headers: headers}); err != nil {
|
||||
if err := deliver(Work{Worker: w.Consumer, Subject: msg.Subject(), Body: json.RawMessage(msg.Data()), Headers: headers}); err != nil {
|
||||
_ = msg.NakWithDelay(NakDelay)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user