PhalApi-RabbitMQ基于PhalApi专业队列拓展

PhalApi-RabbitMQ基于PhalApi专业队列拓展

前言

RabbitMQ一直都是队列中的标杆,这次有幸PhalApi也能啃上RabbitMQ真是一件大好事,感谢@牧鱼人提供基于php-amqplib/php-amqplib封装的PhalApi-RabbitMQ扩展

关于RabbitMQ相关的安装集群配置可以参考笔者博客的MQ模块,地址如下
https://my.oschina.net/wenzhenxi/blog?catalog=5613216&temp=1491640864558

附上:

官网地址:http://www.phalapi.net/

开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release

开源中国拓展Git地址:http://git.oschina.net/dogstar/PhalApi-Library

1.安装

使用PhalApi-RabbitMQ扩展和使用其他扩展也是一样简单,只需要把目录存放到Library即可进行使用

在Config中创建文件rabbitmq.php配置文件格式如下:

return array(
    'servers' => array(
        'host'     => '127.0.0.1',
        'port'     => '5672',
        'user'     => 'admin',
        'password' => 'admin',
        'vhost'    => '/',
    )
)

2.使用RabbitMQ写入和处理消息

然后就可以进行实例化使用了:

// 实例化RabbitMQ实例
$rm = RabbitMQ_Lite(DI()->config->get('rabbitmq.servers'));

// 检查test队列是否存在,如果不存在则创建,频繁调用会带来较大性能消耗
// 建议在出队列脚本处进行调用,写入队列不进行调用
$rm->queue_declare("test");

// 向队列写入一条消息
$rm->push("测试消息","test");

// 定义处理消息的方法
$func = function ($msg){
            echo $msg;
        };
// 处理任务(会阻塞进行)
$rm->pop("test",$func);

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

官网QQ交流群:①群:421032344 ②群:459352221 欢迎大家的加入!

时间: 2024-10-29 10:47:51

PhalApi-RabbitMQ基于PhalApi专业队列拓展的相关文章

基于PhalApi的Redis拓展

基于PhalApi的Redis拓展 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是为了解决并不是非常熟悉redis的童鞋能够方便的使用redis进行实际的运用 ,对原生的phpredis进行的封装优化良好的注释和例子希望能提供更好的帮助! 注:本拓展并没有开发完成,也没进行严格的测试,此版本为还处于开发阶段的鉴赏版. 附上: 官网地址:http://www.phalapi.net/ 开源中国Git地址:http://gi

基于PhalApi的Smarty拓展

基于PhalApi的Smarty拓展 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 用过的童鞋都知道PhalApi是一个Api框架不提供view层的功能,但是很多童鞋有开发一个自己管理自己API的web界面的需求,或者是个人后台,那么是否意味着要去在学习另外一种框架来实现呢?当然不是在之前也有童鞋放出过一个View拓展,使用之后还是有一些不方便的地方,所以引入一个比较老牌的PHP模版引擎Smarty来解决这类问题,本拓展提供了对Smarty的封

PhalApi-SMS基于PhalApi容联云短信服务器拓展

PhalApi-SMS基于PhalApi容联云短信服务器拓展 前言 在做项目时更换短信运营商时,找到了容联云通讯(滴滴用的是他的服务),感觉很不错看了下SDK文件和测试Demo感觉使用起来并不是很方便, 因为确实很多项目都会用到这一套服务比较希望好用优雅一些,所以提供了本次拓展也希望大家喜欢 附上: 官网地址:http://www.phalapi.net/ 开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release 开源中国拓展Gi

[PhalApi实战篇(1)]Redis队列处理异步任务

[PhalApi实战篇(1)]Redis队列处理异步任务 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 哈喽大家好呀!之前编写的PhalApi入门篇和进阶篇已经过去了好久了,在此之间也回答了很多小伙伴各种各样的问题,这里也希望吧里面一些问的比较多的和比较有趣的以及笔者在使用PhalApi一些新的体会,都提取出来为大家带来一些能够在实际开发中可以使用的技术或思想,那么我们就开始我们实战篇中的第一节 Redis队列处理异步任务 大家希望喵咪在Pha

RabbitMQ如何实现延迟队列?

什么是延迟队列 延迟队列存储的对象肯定是对应的延迟消息,所谓"延迟消息"是指当消息被发送以后,并不想让消费者立即拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费. 场景一:在订单系统中,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将进行一场处理.这是就可以使用延迟队列将订单信息发送到延迟队列. 场景二:用户希望通过手机远程遥控家里的智能设备在指定的时间进行工作.这时候就可以将用户指令发送到延迟队列,当指令设定的时间到了再将指令推送到

php基于双向循环队列实现历史记录的前进后退等功能_php技巧

本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能.分享给大家供大家参考.具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能.(实现操作的前进后退) 2. 和discuz论坛登录后查看帖子(可以前进后退查看过的帖子,还有帖子查看历史记录) 3. 逻辑和windows资源管理器地址栏前进后退功能一样. 根据这种需要,实现了一个数据结构.写了一个通用的类,暂叫历史记录类吧. [原理和时钟类似.实例化对象时可以构造长度为N(可以根据需要定长度)个节点的环]

基于PhalApi的DB集群拓展 V0.1bate

前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 编写本次拓展出于的目的是解决大量数据写入分析的问题,也希望本拓展能对大家有些帮助,能够解决大家遇到的同样的问题. 注:V0.1bate版本,很多功能尚不完善,只提供技术交流使用,请不要用户生产环境 附上: 官网地址:http://www.phalapi.net/ 开源中国Git地址:http://git.oschina.net/dogstar/PhalApi/tree/release 1.起因 说到

RabbitMQ 一二事 - 简单队列使用

消息队列目前流行的有三种 1. RabbitMQ 2. ActiveMQ 3. Kafka 这三种都非常强大,RabbitMQ目前用的比较多,也比较流行,阿里也在用 ActiveMQ是阿帕奇出品,但是性能上和RMQ相比相对差一些 卡夫卡呢,使用场景不同,不多介绍,主要是用于日志收集方面,结合hadoop非常灵活   RabbitMQ官网:http://www.rabbitmq.com/ 安装不多说了,可以下载Windows版本,或者linux版本 下载页面:http://www.rabbitmq

Java中基于栈和队列的排序算法

题目1:使用一个辅助栈和一些附加非数组变量将堆栈S中的元素按升序存储. 题目2:使用一个辅助队列和一些附加非数组变量将队列Q中的元素按升序存储. 1.用Java实现,首先使用链表LinkedList构造栈数据结构. import java.util.LinkedList; public class IntStack { private LinkedList<Integer> storage = new LinkedList<Integer> (); /** 入栈 */ public