Message Queues in Ruby on Rails
As an update — GitHub have moved to Resque on Redis instead of Delayed job. However they still recommend delayed_job for smaller setups: https://github.com/resque/resque
As an update — GitHub have moved to Resque on Redis instead of Delayed job. However they still recommend delayed_job for smaller setups: https://github.com/resque/resque
Don’t bother checking. queue.declare is an idempotent operation. So, if you run it once, twice, N times, the result will still be the same. If you want to ensure that the queue exists, just declare it before using it. Make sure you declare it with the same durability, exclusivity, auto-deleted-ness every time, otherwise you’ll get … Read more
A message queue is a data structure, or a container – a way to hold messages for eventual consumption. A message broker is a separate component that manages queues.
Try to install Redis as in your virtual environment as well: pip install Redis
Depends on what you mean by “blocked”. If you mean “are existing connections closed when rebalance is triggered” then the answer is yes. The current Kafka’s rebalancing algorithm is unfortunately imperfect. Here is what is happening during consumer rebalance. Assume we have a topic with 10 partitions (0-9), and one consumer (lets name it consumer1) … Read more
That’s a great question since they are similar in that they provide an application access to a messaging system. It is how they acheive it I think that differentiates them. The Channel Adapter pattern deals how to get data from an existing system without modifying that system. Typically the Channel Adapdter is implemented out-of-process. Examples … Read more
In your specific case, where it’s just an email queue, I wold take the easy way out and use django-mailer. As a nice side bonues there are other pluggable projects that are smart enough to take advantage of django-mailer when they see it in the stack. As for more general queue solutions, I haven’t been … Read more
@MSalters Re ‘message queue’: RabbitMQ’s default operation is exactly what you describe: transient pubsub. But with TCP instead of UDP. If you want guaranteed eventual delivery and other persistence and recovery features, then you CAN have that too – it’s an option. That’s the whole point of RabbitMQ and AMQP — you can have lots … Read more
A message queue is a data structure, or a container – a way to hold messages for eventual consumption. A message broker is a separate component that manages queues.
The two are incomparable, as they represent different layers. It’s like comparing a relational database to a file on a disk or comparing a house to a brick (i.e. certainly you need files to build databases and bricks to build houses, and sometimes all you need is a file or a brick, but that does … Read more