Adam Chase wrote:
Premature sending (sorry) (the tab key killed me)
So I have a system where I have groups of messages that need to be
accumulated and then processed exclusively. I might get a message for
any group at any time. The space of possible groups is quite large,
but at any time I expect there will be a reasonable number of groups
active.
My plan was:
produce(group, job)
{
query_queue(group) //to see if it exists
if (exists)
send_message(group)
else
declare_queue(group, exclusive)
send_message(group)
send_message(queues_to_process, group)
}
consume()
{
queueName = queue.receive(queues_to_process)
queue.subscribe(queueName)
queue.receive(queueName) //to get a bunch of messages
//later when the queue has been idle (for a while)
queue_delete(queueName)
}
Not sure if I've explained myself well here or not, but my question is
1) Is there a better way to accomplish this sort of thing and 2) can
you think of a way around the race condition between queue_query and
queue_delete? Does the alternate_exchange setting help any?
Thanks,
Adam
Are you trying/wanting to make sure messages are not sent a queue that
is going to be deleted?
Carl.