rabbitmq消息队列

rabbitmq消息队列

rabbitmq消息队列

admin admin 2025-03-22 193 0

演示地址

插件介绍


RabbitMQ 是一种分布式消息中间件,消息中间件也称消息队列MQ,那么什么是MQ呢?我们这节来探讨一下。



### 使用方法见Index.php

### RabbitMQ插件使用文档


在控制器中初始化RabbitMQ连接:


use addons\rabbitmq\service\Mq;


// 方法1:通过依赖注入


`$mq = app(Mq::class)->setConfig()->connect();`


// 方法2:通过实例化


`$mq = new Mq();

$mq->setConfig([

   'host' => 'localhost',

   'port' => 5672,

   'user' => 'guest',

   'password' => 'guest',

   'vhost' => '/'

])->connect();`


// 参数1:交换机名称

// 参数2:交换机类型(direct, fanout, topic, headers, x-delayed-message)


`$mq->exchange('test_exchange', 'direct');

`

// 参数:队列名称

`$mq->queue('test_queue');`


// 参数1:队列名称

// 参数2:交换机名称

// 参数3:路由键

`$mq->bind('test_queue', 'test_exchange', 'test_routing_key');`


// 发布普通消息

`$mq->publish(

   ['message' => 'test message', 'time' => time()],

   'test_exchange',

   'test_routing_key'

);`


// 发布延时消息

`$mq->publish(

   ['message' => '延时消息', 'time' => time()], // 消息内容

   'delayed_exchange',                        // 交换机名称

   'delayed_queue',                           // 路由键

   5000                                       // 延时时间(毫秒)

);`


// 参数1:队列名称

// 参数2:回调函数,处理接收到的消息


`$mq->consume('test_queue', function($message) use ($mq) {

   $data = json_decode($message->getBody(), true);

   // 处理消息

   $mq->ack($message);

});


$mq->close();


try {

   $mq->connect();

   // 其他操作...

} catch (\Exception $e) {

   // 处理异常

   \think\facade\Log::error('RabbitMQ错误: ' . $e->getMessage());

}

`






历史版本

  • V1.0版本 依赖版本: v6.0.0 2025-03-22

    首次发布
  • 高级授权
  • 普通授权hot

授权价格: 29.90


提供无加密源代码

永久免费升级

社区技术支持

可用于学习自营网站或应用

可用于为客户定制开发项目

可去除代码头部版权注释

购买后即永久免费

禁止转售或转移插件源码


授权价格: 19.90


提供无加密源代码

一年内免费升级

社区技术支持

可用于学习或自营网站或应用

可为客户定制开发

版权为FunAdmin所有

禁止修改和去除代码版权注释

禁止转售或转移插件源码

插件信息
插件标识:rabbitmq
插件名称:rabbitmq消息队列
最新版本:1.0
发布日期:2025-03-22
下载次数:0
依赖版本:>=6.0.0
赞助FunAdmin
FUNADMIN

支持一下吧

加入我们