[rabbitmq-discuss] RabbitMQ for Master worker with monitoring?

Emile Joubert emile at rabbitmq.com
Wed Dec 22 12:10:24 GMT 2010


Hi Yoav,

On 21/12/10 21:35, yoav glazner wrote:
> This is my first post to this list, so Hi!
> I'm trying to design a Master/Worker implement-ion with RabbitMQ.
> I have a few requierments due to lagacy issues:
> * works get very long tasks so they should be able to get ABORT messages
> while working,

You could send updated status information about work items to a 
dedicated status exchange that workers subscribe to in order to obtain 
abort messages or changes in priority. This assumes that tasks are 
interruptible and that workers have multiple threads of control.

> * no task can be lost

The use persistence and transactions is indicated.

> * each task has priority and that priority may change when the task is
> already in a queue.

If the task is stuck in a long queue you might be able to send a cancel 
message via the status exchange and requeue the task at the correct 
priority.

> * tasks can be removed from the work queue (user wants to pause/cancel
> an operation)

Depending on exactly what pausing means, this could be accomplished to 
sending an appropriate message to the status exchange.

> * An client of rabbitMQ can fetch the Pending tasks to know what is the
> status of the big operation.

If you explain what a bit more about your problem I might be able to 
make a suggestion here - what is a big operation?

> After googling I found out that for priorities I'll need a few work
> queues, but will I be able to switch a priority of a task in one
> transaction?

No.



Regards

Emile


More information about the rabbitmq-discuss mailing list