PHPackages                             minms/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. minms/rabbitmq

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

minms/rabbitmq
==============

v1.1(6y ago)02PHPPHP &gt;7.1

Since Jan 15Pushed 6y ago1 watchersCompare

[ Source](https://github.com/minms/rabbitmq)[ Packagist](https://packagist.org/packages/minms/rabbitmq)[ RSS](/packages/minms-rabbitmq/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

PHP RABBITMQ 快捷脚手架
------------------

[](#php-rabbitmq-快捷脚手架)

用于快捷搭建基于RabbitMQ的消息处理队列, 支持实时队列, 延迟队列

#### 运行案例

[](#运行案例)

[![demo](https://raw.githubusercontent.com/minms/rabbitmq/master/test/test.jpg)](https://raw.githubusercontent.com/minms/rabbitmq/master/test/test.jpg)

#### 使用方法

[](#使用方法)

*安装*

```
composer require minms/rabbitmq

```

*第一步 定义消息结构*

```
# 创建消息结构

class TestMessage extends \Minms\RabbitMQ\Message
{
    public function __construct($index, $pushTime)
    {
        parent::__construct(compact('index', 'pushTime'), TestHandler::class);
    }
}

```

```
# 创建消息对应消费方法

class TestHandler extends \Minms\RabbitMQ\Handler
{
    public function run()
    {
        echo date('Y-m-d H:i:s')." 队列消息消费: pushTime: ". $this->getBody("pushTime") . ", index: ".$this->getBody("index")." \n";
    }
}

```

*第二步 监听队列消息*

```
# 配置RabbitMQ连接信息
\Minms\RabbitMQ\Config::setConfig('192.168.2.186', 5672, 'guest', 'guest', '/');

# 监听队列默认有个Listen帮助类, 也可以参考进行重写, !! 需要在callback里面处理异常情况
\Minms\RabbitMQ\Listen::callback(function (\PhpAmqpLib\Message\AMQPMessage $message){
    $data = json_decode($message->getBody(), true);

    //todo, 自定义处理

    /** @var \Minms\RabbitMQ\Handler $handlerClassInstance */
    $handlerClassInstance = new $data['handler']($data['params'], $data['message']);

    /** 执行任务 */
    $handlerClassInstance->run();
});

```

*第三步 推送到RabbitMQ*

```
# 需要提前定义RabbitMQ配置, 只需要配置一次
\Minms\RabbitMQ\Config::setConfig('192.168.2.186', 5672, 'guest', 'guest', '/');
# 覆盖配置
# (new TestMessage(1, date('Y-m-d H:i:s')))->setConfig('192.168.2.186', 5672, 'guest', 'guest', '/')->publish();

echo "推送消息(index: 1)到队列: ".date('Y-m-d H:i:s')." \n";
(new TestMessage(1, date('Y-m-d H:i:s')))->publish();

sleep(1);
echo "推送延迟消息(index: 2)到队列: ".date('Y-m-d H:i:s')." \n";
(new TestMessage(2, date('Y-m-d H:i:s')))->publishDelay(30);

sleep(2);
echo "推送延迟消息(index: 3)到队列: ".date('Y-m-d H:i:s')." \n";
(new TestMessage(3, date('Y-m-d H:i:s')))->publishDelay(30);

```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

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

Every ~0 days

Total

2

Last Release

2315d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1c5ebf06c8bc66fa3b5f36f2435c556432223b3e63fb6ef3c1acb488d6a37fda?d=identicon)[minms](/maintainers/minms)

### Embed Badge

![Health badge](/badges/minms-rabbitmq/health.svg)

```
[![Health](https://phpackages.com/badges/minms-rabbitmq/health.svg)](https://phpackages.com/packages/minms-rabbitmq)
```

###  Alternatives

[vladimir-yuldashev/laravel-queue-rabbitmq

RabbitMQ driver for Laravel Queue. Supports Laravel Horizon.

2.1k9.8M30](/packages/vladimir-yuldashev-laravel-queue-rabbitmq)[php-amqplib/rabbitmq-bundle

Integrates php-amqplib with Symfony &amp; RabbitMq. Formerly emag-tech-labs/rabbitmq-bundle, oldsound/rabbitmq-bundle.

1.3k20.1M65](/packages/php-amqplib-rabbitmq-bundle)[bschmitt/laravel-amqp

AMQP wrapper for Laravel and Lumen to publish and consume messages

2752.3M7](/packages/bschmitt-laravel-amqp)[enqueue/amqp-lib

Message Queue Amqp Transport

1078.5M61](/packages/enqueue-amqp-lib)[jwage/phpamqplib-messenger

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

84149.7k1](/packages/jwage-phpamqplib-messenger)[mikemadisonweb/yii2-rabbitmq

Wrapper based on php-amqplib to incorporate messaging in your Yii2 application via RabbitMQ. Inspired by RabbitMqBundle for Symfony 2, really awesome package.

74262.1k1](/packages/mikemadisonweb-yii2-rabbitmq)

PHPackages © 2026

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