0PricingLogin
RabbitMQ Messaging & Async Systems · Lesson

Delayed Messages Plugin

Implement delayed message delivery using the RabbitMQ Delayed Message Exchange plugin. Schedule messages to be processed at a future time without custom timers.

What are Delayed Messages?

Sometimes you don't want a message processed immediately. Think of sending a reminder email an hour from now, or processing a payment 30 minutes after an order is placed.

Delayed messages allow you to publish a message to RabbitMQ, but tell the broker to hold onto it for a specific duration before delivering it to consumers.

Scheduling Without the Plugin

Without a dedicated feature, scheduling messages can be complex:

  • Custom Timers: You might build your own service with timers, but this adds complexity and a single point of failure.
  • Polling Databases: Storing messages in a database and periodically checking for due times is inefficient.
  • External Schedulers: Using CRON jobs or other external schedulers still requires your application to manage the message state.

RabbitMQ's Delayed Message Plugin simplifies this greatly!

All lessons in this course

  1. Delayed Messages Plugin
  2. Shovel Plugin for Federation
  3. Federation Plugin for Clustering
  4. Message Deduplication & Consistent Hash Exchange Plugins
← Back to RabbitMQ Messaging & Async Systems