On Mon, 2005-12-19 at 13:43 -0600, Chase Venters wrote: > What was happening? The application had been taking > messages into the queue, promising the call generator to handle them. Thus > the queue kept growing, and growing, and growing...
That is what a queue is supposed to do when the demand exceeds the capacity. > Now, a queue is of course applicable in some places. The application > mentioned in this thread is one of them. But IMNSHO, you should never ever > think that a queue's ability to allow you to accept new work while you're > busy processing current work is a good thing unless this trait is (a) > necessary for performance and (b) carefully constrained to keep things > under control (ie, the kernel's network buffers). A queue is just a method for handling bursty demand in applications where it would be too expensive to always provide enough throughput to handle all requests immediately. You have to build the system with enough throughput to handle the common load level without backing up. If you don't need to handle bursts that exceed capacity, or you don't mind telling clients to go away when capacity is full, there's no good reason to use a queue. - Perrin