M Q wrote:
In terms of the QPID C++ API, how would this work? Should I use reply-to
headers in the work queue messages?
You can use that to tell the workers of the response queue to use certainly.
Can qpid take care of detecting
time-outs and putting failed work requests back onto the work queue?
If you use acknowledged delivery (which is the default), then if a
worker crashes before returning from handling a message, that message
will be re-queued and delivered to one of the surviving workers.
However there is no time-out feature built in. You could build this into
your application - i.e. have a timer that you 'start' prior to starting
each task and 'stop' once the task is completed. If the task takes to
long the timer will hit a limit and cause the workers session to be
closed, which in turn will cause the server to re-queue the unaccepted
message.