PHPackages                             lettermint/laravel-rabbitmq - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. lettermint/laravel-rabbitmq

ActiveLibrary[Queues &amp; Workers](/categories/queues)

lettermint/laravel-rabbitmq
===========================

A modern RabbitMQ queue driver for Laravel with attribute-based topology declaration, dead letter queues, and advanced retry strategies

1.0.0(6mo ago)2431[5 PRs](https://github.com/lettermint/laravel-rabbitmq/pulls)MITPHPPHP ^8.2CI passing

Since Dec 21Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/lettermint/laravel-rabbitmq)[ Packagist](https://packagist.org/packages/lettermint/laravel-rabbitmq)[ Docs](https://github.com/lettermint/laravel-rabbitmq)[ RSS](/packages/lettermint-laravel-rabbitmq/feed)WikiDiscussions main Synced today

READMEChangelog (4)Dependencies (16)Versions (17)Used By (0)

Laravel RabbitMQ
================

[](#laravel-rabbitmq)

[![Latest Version on Packagist](https://camo.githubusercontent.com/5f99495f9eb1b58170b35e681d82c35c866f68153d81320be8f4ce79f88742d8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c65747465726d696e742f6c61726176656c2d7261626269746d712e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lettermint/laravel-rabbitmq)[![GitHub Tests Action Status](https://camo.githubusercontent.com/6a8d9d45ebcdc6f0c5f2d18700738878b5500b4e84e42bcdc50a95b0baf3f85a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c65747465726d696e742f6c61726176656c2d7261626269746d712f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/lettermint/laravel-rabbitmq/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/de88ff56a07c0297adb65cea8a5b618e70ef21bf0628fc0a356dfe6e7eb33ee4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c65747465726d696e742f6c61726176656c2d7261626269746d712f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/lettermint/laravel-rabbitmq/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/f674c8489f57eb6d48a0609744612ade2e1b8e9072d913bfbe42bc4f03b25eca/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c65747465726d696e742f6c61726176656c2d7261626269746d712e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/lettermint/laravel-rabbitmq)

**A production-ready RabbitMQ queue driver for Laravel with attribute-based topology, automatic retries, and Kubernetes-native deployment.**

Build resilient, scalable queue systems using RabbitMQ's powerful routing with Laravel's familiar job syntax. No Horizon required.

✨ Features
----------

[](#-features)

- 🎯 **Attribute-Based Topology** - Define exchanges and queues using PHP 8 attributes on your job classes
- 🔄 **Automatic Retries &amp; DLQ** - Built-in dead letter queues with configurable retry strategies
- 📊 **Priority Queues** - Support for message priorities (0-255) on classic queues
- ⏰ **Delayed Messages** - Schedule jobs with native RabbitMQ delayed message exchange
- 🚀 **Laravel-Native** - Works with standard `dispatch()` - no learning curve
- ☸️ **Kubernetes-Ready** - Custom consumer commands designed for containerized deployments
- 💪 **Production-Proven** - Built on php-amqplib with heartbeat support and publisher confirms

🤔 Why Use RabbitMQ?
-------------------

[](#-why-use-rabbitmq)

This package is ideal for applications that need:

- **Advanced Routing** - Route messages based on patterns, headers, or broadcast to multiple queues
- **Guaranteed Delivery** - RabbitMQ's persistence and publisher confirms ensure messages aren't lost
- **Complex Workflows** - Multi-tenant systems, event-driven architectures, microservices communication
- **Infrastructure-Level Control** - Manage queue topology, clustering, and federation through RabbitMQ itself
- **Kubernetes-Native Workers** - Deploy queue consumers as standard Kubernetes Deployments with HPA
- **Protocol Flexibility** - AMQP protocol support for cross-platform messaging (Node.js, Python, Go, etc.)

📋 Requirements
--------------

[](#-requirements)

- PHP 8.2+
- Laravel 11.0+ or 12.0+
- RabbitMQ 3.12+
- php-amqplib/php-amqplib ^3.6

**Optional:**

- `rabbitmq_delayed_message_exchange` plugin for delayed messages
- `rabbitmq_prometheus` plugin for Prometheus metrics

📦 Installation
--------------

[](#-installation)

```
composer require lettermint/laravel-rabbitmq
```

Publish the configuration file:

```
php artisan vendor:publish --tag=rabbitmq-config
```

Update your `config/queue.php`:

```
'connections' => [
    'rabbitmq' => [
        'driver' => 'rabbitmq',
        'queue' => env('RABBITMQ_QUEUE', 'default'),
        'exchange' => env('RABBITMQ_EXCHANGE', ''),
    ],
],

// Set as default if desired
'default' => env('QUEUE_CONNECTION', 'rabbitmq'),
```

Add to your `.env`:

```
QUEUE_CONNECTION=rabbitmq
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
RABBITMQ_VHOST=/
```

🚀 Quick Start
-------------

[](#-quick-start)

Here's a complete example - from defining a job to processing it:

### 1. Define Your Job

[](#1-define-your-job)

```
