演示地址
插件介绍
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所有
禁止修改和去除代码版权注释
禁止转售或转移插件源码

支持一下吧