logo
icon

RabbitMQ with Delayed Message Exchange

RabbitMQ message broker with the delayed message exchange plugin enabled. This allows you to schedule message delivery with a delay.

RabbitMQ message broker with the delayed message exchange plugin enabled. This allows you to schedule message delivery with a delay.

PlatformZeabur
Deployed0
Publisherauthor3HFT
Deployed0 times
Publisher3HFT
Created2026-05-27
Tags
Message QueueMessaging

RabbitMQ with Delayed Message Exchange

This template deploys RabbitMQ with the rabbitmq_delayed_message_exchange plugin enabled.

Features

  • Message Broker: Full-featured RabbitMQ message broker
  • Delayed Messages: Schedule message delivery with configurable delays
  • Management Console: Web-based management UI at port 15672
  • AMQP Protocol: Standard AMQP 0-9-1 protocol support

Getting Started

  1. After deployment, access the management console at http://<service-url>:15672
  2. Log in with the credentials you provided
  3. Create exchanges, queues, and bindings as needed

Using Delayed Messages

To use the delayed message exchange plugin:

  1. Create an exchange with type x-delayed-message
  2. Set the x-delayed-type argument to the underlying exchange type (e.g., direct, topic)
  3. Publish messages with the x-delay header (in milliseconds)

Example (Python):

import pika
import json

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# Declare delayed exchange
channel.exchange_declare(
    exchange='delayed_exchange',
    exchange_type='x-delayed-message',
    arguments={'x-delayed-type': 'direct'}
)

# Publish with 5 second delay
channel.basic_publish(
    exchange='delayed_exchange',
    routing_key='my_queue',
    body=json.dumps({'message': 'Hello'}),
    properties=pika.BasicProperties(
        headers={'x-delay': 5000}  # 5000 milliseconds
    )
)

Ports

  • 5672: AMQP protocol (for client connections)
  • 15672: Management console (HTTP)

Important Notes

  • The delayed message exchange plugin is experimental and not recommended for production use at scale
  • For large-scale delayed message processing, consider using Dead Letter Queues with TTL or external scheduling systems
  • Data is persisted in the mounted volume

License

RabbitMQ is licensed under the Mozilla Public License 2.0. See https://github.com/rabbitmq/rabbitmq-server for details.