I’m currently investigating queues for a project. We have some long running transactions and we’d like to queue them on the backend so the front-end can go about its business without delay.
Our use case doesn’t require any front-end feedback, but some of the queues I’ve seen can also deal with this situation quite nicely.
This isn’t a review of queues or comparison of their features - I just thought I would share the list of (mostly) open-source solutions I have found so far.
Why would you need a queue? Needs vary, but examples include generating thumbnails, uploading content to an external store (such as S3), encoding video/audio, sending large numbers of emails, etc.
The queues/asynchronous messaging tools I’ve found so far:
Some of these are actually interfaces to queue/message processors rather than being the actual queue themselves, and others allow you to mix and match - for example, Async Observer can use Apache ActiveMQ or Reliable Messaging amongst others.
My next job is to go through and check out the functionality of each one and see if any is right for our purpose - if not, it’ll be time to roll our own!