Question

I've been developing an application using the Laravel Framework & have been exposed to the idea of queues for the first time. There are a multitude of tutorials & articles about using queues & examples of what to use for, but I've never seen anyone writing about or highlighting when one does not need to actually use any.

I've seen examples or even forum questions about using say beanstalked or iron.mq for offloading jobs that then take place in a managed manner, I understand the concept; but is there a need to make use of queues if say my application makes use of a mailing service like Postmark or Mandrill? Is there a benefit in that case?

I mean I've tested both & obviously they both queue jobs on their service to allow their service to function; do I need a queue for email when I'm offloading the act of mailing to a service detached from my application. ( my application has not been released into the wild, I do not actually have benchmark type information at present )

How different is giving jobs to ironmq (which still calls an api and sends data) to making a call to say Mandrill by sending data? More to the point; does one need to have a queue like using iron.mq to send mail requests to mandrill which happens to queue stuff too?

Was it helpful?

Solution

One of the advantages of using explicit queues, is that you can try again if the receiving system is down for some reason.

Also if there's something wrong with the message you're putting on a queue (as far as the receiving system is concerned), you can have it be put on an error queue, where you can manually fix the message and resend it.

It's all a question of whether or not you have a need for the aforementioned benefits.

Licensed under: CC-BY-SA with attribution
scroll top