qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "M Q" <unam...@gmail.com>
Subject C++ client API help
Date Mon, 24 Nov 2008 06:46:07 GMT
How can I get the qpid C++ client API to do the following:

* A producer is sending a stream of messages to a single message queue. Each
message represents a unit of work to be processed by a computational
cluster.  The producer's messages must accumulate on a single FIFO message
queue, called the work queue.

* The cluster of consumers read messages off the queue (round-robin style).
The consumers process each message and output the results onto some message
queue (called the response queue).

* If a client takes a message off the work queue and fails to create a
response in a given amount of time then the message must be put back on the
work queue. For example, the client might accept the unit of work and then
crash. The unit of work must still be completed so it must be returned to
the work queue for processing by another client.

For example, I might have a series of images that need to be processed by a
server farm. Each server can processes the images and I want to distribute
the workload across multiple servers. And of course I want all images to be
eventually processed, even if one of the severs fails at some point in the
process.

In terms of the QPID C++ API, how would this work? Should I use reply-to
headers in the work queue messages? Can qpid take care of detecting
time-outs and putting failed work requests back onto the work queue?

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message