Home Getting Started Guide Queue Driver Issues Discussions
ESC
{{ result.title }}
{{ result.snippet }}
πŸ”
No results found
Try different keywords
⌨️
Start typing to search
Search across all documentation

Laravel AMQP
It's simple!

It's easy to work with RabbitMQ message queues

Laravel AMQP Mascot
πŸ“¦

Simple Publish & Consume

Clean, intuitive API for publishing and consuming messages with full AMQP property support β€” priority, TTL, correlation IDs, and custom headers out of the box.

⚑

Laravel Queue Driver

Set QUEUE_CONNECTION=amqp and use dispatch() / queue:work as usual β€” RabbitMQ handles persistence, delays, and failures behind the scenes.

πŸ› οΈ

Artisan Commands

Long-running workers and CLI tooling via amqp:work, amqp:consume, amqp:listen, amqp:publish, and amqp:purge.

πŸ”„

RPC Pattern

Built-in request/response with rpc() and reply(), including automatic correlation ID handling and reply-queue management.

πŸ”

Retry & Dead-Letter Pipeline

Declarative RetryPolicy + DeadLetterTopology + RetryHandler with fixed/exponential backoff, automatic DLQ routing, and one-flag CLI integration (--retry --declare-topology).

⏱️

Delayed Messaging

Schedule deliveries with publishLater() or amqp:publish --delay-ms. Works on stock RabbitMQ (TTL+DLX) or the delayed-message exchange plugin. Includes PublishBackoff for transient publisher errors.

πŸ“

Typed Messages & Schema

Plain-PHP DTOs via TypedMessage, published with publishTyped() / consumed with consumeTyped(). Optional zero-dependency JSON-Schema-lite validation on both directions.

πŸš€

Production Infrastructure

ExchangeTopology builders, QueueProfile quorum/priority presets, resilient reconnect + ConnectionPool, W3C trace propagation, correlation IDs, and ConsumerLifecycle hooks.

πŸ§ͺ

SAGA, Events & Testing

Saga step/compensation workflows, Laravel publish/consume events, consume middleware pipeline, AsyncPublisher with confirms, and Amqp::fake() with Laravel-style assertions.

🎯

gRPC Support

Typed service-oriented RPC over RabbitMQ. Define RpcService + RpcRequest / RpcResponse DTOs and call any service with Rpc::call(UserService::class, GetUserRequest::make([...])). Symmetric Rpc::serve() on the server.

🧩

Messaging Platform

Service discovery Rpc::service('payments'), Saga::make()->step()->compensate(), OrderCreated::dispatch([...]), Amqp::deadLetters() management, #[Retry] attribute, monitoring dashboard, causation IDs, MessageStore, and an async-Laravel-events bridge.

Quick Start

Browse common tasks β€” pick one from the list to see the snippet.

Contributors

Thanks to all the amazing people who have contributed to this project!