rshd/common-aliyun-rabbit-mq 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rshd/common-aliyun-rabbit-mq

最新稳定版本:1.0.1

Composer 安装命令:

composer require rshd/common-aliyun-rabbit-mq

包简介

简单封装的阿里云rabbit收发消息

README 文档

README

A simple RabbitMq that encapsulates Alibaba Cloud

简单封装阿里云rabbitMQ消息发送和接收

引用实例化

    /**
    * @param $host 接入点
    * @param $port 端口,一般默认端口5672
    * @param $virtualHost 资源隔离
    * @param $accessKey  阿里云的accessKey
    * @param $accessSecret 阿里云的accessSecret
    * @param $instanceId 实例 id(从阿里云 AMQP 版控制台获取)
    */
    $client = new AliRabbitMQ($host, $port, $virtualHost, $accessKey, $accessSecret, $instanceId);
    

发送消息send

    $message = json_encode(['data'=>$data,'id'=>$id],JSON_UNESCAPED_UNICODE); //发送的消息 string
    $queueName = "queue"; //队列名
    
    $client->send($message,$queueName);
    
    $delay = 1000; //延时1s
    
    //使用下面的方式发送消息会带有这些参数,
    //['application_headers'=>$amqpTable,'content_type' => 'text/plain', 'delivery_mode' => 2]
    $client->sendWithProp($message,$queueName,$delay);

接收消息receive

     $callback = function ($msg) {
            //此处定义处理业务逻辑
            echo ' [x] Received ', $msg->body, "\n";
            $headers = $msg->get('application_headers');
            echo ' [x] Received ', $headers->getNativeData()['delay'], "\n";
            
            //必要的消息接收应答,告知服务已接收到消息,否则服务商会继续推送数次消息
            $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']);
        };//队列回调处理函数,自定义处理业务逻辑
        
    $queueName = "queue"; //队列名
    
    $client->receive($queueName,$callback);
    
    //目前和receive方法相同,建议直接使用receive
    $client->receiveWithProp($queueName,$callback);

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-06-15