First of all, this is not a "what's the best queue manager..." sort of question.
I currently use Gearman for queue management. It's fast, it's reliable, but I do miss some features and I would like to understand better options according to my needs. I use to work with Delayed_job and Resque in Ruby, but even with those I didn't found all the requirements below:
- I don't need a blazing fast server (we deal with ~ 3k tasks/jobs per day)
- I need it to be able to reenqueue a task
- Store current tasks in a persistent way (not memory only)
- It should be able to replicate data among servers (in order to maintain High Availability in case of server crash)
- List item
- And to be able to have a timeout that will, automatically reenqueue
- Be able to delay a task
- schedule to 5 minutes from now
- or schedule to next Sunday
- Be able to manage the Queue
- How many jobs per queue?
- What are the jobs about?
- Can I query the Queue?
Other thoughts:
- Being able to monitor the server status through Zabbix would be nice.
I had a great first impression about Beanstalkd. I do miss, only, data replication among servers. I also had a nice impression regarding ActiveMQ Apollo, but I didn't see how to schedule with delay.
Any thoughts?