The implementation/operational complexity of a queue (assuming you don't just hammer it into your existing database, which can sometimes be a bad idea) many times outweighs the user having to wait an extra 200ms.
It's nice when you have to have a queue for image/audio/video processing, page scraping, etc because then you can use the queue for other stuff, but for the most part, excluding large jobs, you can get away without having a queue for quite a while.
So if you have a queuing system, great, use it. If you don't, try to avoid building it until you really need it.
What's your experience with Databases as queues? I was interested in using Queue Classic (Postgres based) because SQL is so nice, plus databases are already quite good at not losing data.
My only real experience is with MongoDB, which we chose for queuing because we were already thinking of using it for our main document store. It flopped, entirely. Queue systems are generally very high write...you're constantly grabbing values while at the same time modifying them.
I think if we had used any *SQL database we would have been fine. Although they don't necessarily have high write compared to a lot of in-memory/distributed systems, they certainly do better than a global write lock.
I haven't ever used Postgre so I don't know of its queuing capabilities. If it has things like atomic modify-and-read, then you'll be fine. After the MongoDB debacle, I went to another company and we used Beanstalkd for a dedicated queue...couldn't have been happier. The protocol is dead simple, and it's so beautifully geared towards being a queuing system that I'll probably never want to go back to any other DB for queuing =]. Worth a shot if you need a queue and have the resources to run it, otherwise I bet Postgres will work just fine.
It's nice when you have to have a queue for image/audio/video processing, page scraping, etc because then you can use the queue for other stuff, but for the most part, excluding large jobs, you can get away without having a queue for quite a while.
So if you have a queuing system, great, use it. If you don't, try to avoid building it until you really need it.