PHPackages                             ahmadrezafatemikia/laravel-ampq - 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. ahmadrezafatemikia/laravel-ampq

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

ahmadrezafatemikia/laravel-ampq
===============================

Elegant and minimal RabbitMQ (AMPQ) integration for Laravel 10–12, powered by php-amqplib.

v1.0.0(6mo ago)13MITPHPPHP ^8.2

Since Nov 11Pushed 6mo agoCompare

[ Source](https://github.com/ahmadrezafatemikia/laravel-amqp)[ Packagist](https://packagist.org/packages/ahmadrezafatemikia/laravel-ampq)[ RSS](/packages/ahmadrezafatemikia-laravel-ampq/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

🚀 ahmadrezafatemikia/laravel-ampq
=================================

[](#-ahmadrezafatemikialaravel-ampq)

> Elegant, minimal, and production‑ready **RabbitMQ (AMQP)** integration for **Laravel 10–12**, powered by `php-amqplib`.
> Define channels once, publish/consume everywhere — Laravel‑native, queue‑agnostic, and built for real apps.

✨ Highlights
------------

[](#-highlights)

- 🧩 Laravel‑native API — `Ampq::publish()` / `Ampq::consume()` + helper `ampq_publish()`
- ⚙️ Config‑driven channels — queue + exchange + routing in `config/ampq.php`
- 🔁 DLX/DLQ built‑in — dead‑letter exchange/queue via config (opt‑in)
- ⏳ Prefetch/QoS — tune consumer throughput per connection
- 🪶 Lightweight — depends only on `php-amqplib/php-amqplib`
- 🛠 Artisan commands — `ampq:publish` and `ampq:consume` for quick ops
- 🧯 Safe defaults — persistent messages, clean shutdown, idempotency‑friendly

> **Note:** Package name intentionally uses **AMPQ** spelling.

📦 Install
---------

[](#-install)

```
composer require ahmadrezafatemikia/laravel-ampq
php artisan vendor:publish --tag=ampq-config
```

⚙️ Configuration
----------------

[](#️-configuration)

**`config/ampq.php`**

```
return [
    'connections' => [
        'default' => [
            'host'     => env('AMPQ_HOST', '127.0.0.1'),
            'port'     => (int) env('AMPQ_PORT', 5672),
            'user'     => env('AMPQ_USER', 'guest'),
            'password' => env('AMPQ_PASSWORD', 'guest'),
            'vhost'    => env('AMPQ_VHOST', '/'),
            'prefetch' => (int) env('AMPQ_PREFETCH', 10),
            'dlx' => [
                'enabled'  => (bool) env('AMPQ_DLX_ENABLED', false),
                'exchange' => env('AMPQ_DLX_EXCHANGE', 'app.dlx'),
                'routing'  => env('AMPQ_DLX_ROUTING', 'dead'),
                'queue'    => env('AMPQ_DLX_QUEUE', 'app.dlq'),
                'type'     => env('AMPQ_DLX_TYPE', 'direct'),
            ],
        ],
    ],
    'channels' => [
        // Example
        'emails' => [
            'connection' => 'default',
            'queue'      => 'emails',
            'exchange'   => 'app.events',
            'routing'    => 'emails.welcome',
            'type'       => 'direct',
        ],
    ],
];
```

**`.env`**

```
AMPQ_HOST=127.0.0.1
AMPQ_PORT=5672
AMPQ_USER=appuser
AMPQ_PASSWORD=secret
AMPQ_VHOST=/app
AMPQ_PREFETCH=10

AMPQ_DLX_ENABLED=true
AMPQ_DLX_EXCHANGE=app.dlx
AMPQ_DLX_ROUTING=dead
AMPQ_DLX_QUEUE=app.dlq
```

🧠 Usage
-------

[](#-usage)

**Publish (PHP)**

```
use Ampq;

Ampq::publish([
  'event' => 'user.registered',
  'user_id' => 42,
  'timestamp' => now(),
], 'emails');
```

**Publish (CLI)**

```
php artisan ampq:publish emails '{"event":"user.registered","user_id":42}'
```

**Consume**

```
php artisan ampq:consume emails
```

🧰 Helper
--------

[](#-helper)

```
ampq_publish(['hello' => 'world'], 'emails');
```

🧵 Supervisor (Production)
-------------------------

[](#-supervisor-production)

```
[program:ampq-emails]
command=php /var/www/app/artisan ampq:consume emails
numprocs=2
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/ampq-emails.log
stopasgroup=true
killasgroup=true
```

🧱 Under the Hood
----------------

[](#-under-the-hood)

- Namespace: `AhmadrezaFatemikia\LaravelAmpq`
- Facade: `Ampq`
- Commands:
    - `php artisan ampq:publish {channel} {payload}`
    - `php artisan ampq:consume {channel}`

📜 License
---------

[](#-license)

MIT

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance69

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

183d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b9c7ab897298dd0518ae2cf41dd1c280a73746efe7f4236b6509bc939ed82a3e?d=identicon)[AhmadrezaFatemikia](/maintainers/AhmadrezaFatemikia)

---

Top Contributors

[![ahmadrezafatemikia](https://avatars.githubusercontent.com/u/83141114?v=4)](https://github.com/ahmadrezafatemikia "ahmadrezafatemikia (1 commits)")

### Embed Badge

![Health badge](/badges/ahmadrezafatemikia-laravel-ampq/health.svg)

```
[![Health](https://phpackages.com/badges/ahmadrezafatemikia-laravel-ampq/health.svg)](https://phpackages.com/packages/ahmadrezafatemikia-laravel-ampq)
```

###  Alternatives

[bschmitt/laravel-amqp

AMQP wrapper for Laravel and Lumen to publish and consume messages

2752.3M7](/packages/bschmitt-laravel-amqp)[stancl/jobpipeline

Turn any series of jobs into Laravel listeners.

1226.6M10](/packages/stancl-jobpipeline)[jwage/phpamqplib-messenger

Symfony messenger transport for the php-amqplib/php-amqplib library.

84149.7k1](/packages/jwage-phpamqplib-messenger)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

3786.5k](/packages/harris21-laravel-fuse)[mookofe/tail

RabbitMQ and PHP client for Laravel and Lumen that allows you to add and listen queues messages just simple

5552.5k](/packages/mookofe-tail)[palpalani/laravel-sqs-queue-json-reader

Custom SQS queue reader for Laravel

26109.8k](/packages/palpalani-laravel-sqs-queue-json-reader)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
