I'm pretty excited – I've spent a couple of weeks on and off trying to build a useful reliable job queue system on top of Redis, but it's not really working as simply as I'd like.<p>Disque seems to offer the features I am interested in along with the relatively simple semantics of Redis. Looking forward to the API being settled a bit so I can play with it.
For anyone curious, Disque is a synchronously replicated in-memory message broker/job queue that was designed to capture the essence of the "Redis as a jobs queue" use case.
Hi Antirez, always nice to use and see work from a good professional and outstanding community member. Whenever I saw people using Redis as a queue server, it was mainly for two reasons: 1) they were already using Redis and it had the right primitives, 2) it was dead simple to setup and use (compared to rabbitmq, for example).<p>One guy that I think is often overlooked is beanstalkd (<a href="https://github.com/kr/beanstalkd" rel="nofollow">https://github.com/kr/beanstalkd</a>), especially with regards to 2). Have you ever taken a look at the project and if so, how do you think it compares to your vision for Disque?
antirez as you mentioned both projects (Redis, Disque) are based on the same "framework" (skeleton).<p>Do you think because of their different guarantees that shared code will diverge?<p>Do you think that base layer will have to be kept in sync? (bug fixes, improvements)<p>I guess I'm asking, if at all, at what point would you pull that skeleton out into a separate repo and share it across Redis and Disque?
I find it interesting that the article claims eventual consistency, but also best effort ordering. The consistency in a queue is surely made of two parts: count and order. To not have duplicates is nice, but if ordering is not guaranteed - is this really a queue? Seems like it's a Something In Something Out, or "a pile" or something. Again, curious about what the evental consistency guarantee is referring to.<p>Not saying it cannot be useful - for work distribution it will surely work - but it needs to be considered for your usecase that you will need to be able to process messages in an unlimited unordering. Process a delete action before a create for example.
Does Disque support recurring jobs, like queue this task, and run it once every 4 hours. I know Antirez mentioned there is a delay property in the video.<p>Also will there be support for absolute scheduling like, run once at 4:30:00am today.