PHP-resque使用经验总结

一、前言

公司项目里面用到了推送等第三方库,为了更快速的响应,决定将推送功能放入消息队列中处理。那么,如何做消息队列呢?通过网上资料,找到以下几种方案:

1)PHP+redis自己做消息队列

2)PHP-Resque

3)MemcacheQ

4)RabbitMQ

最后我们选了第二种方案,因为PHP-Resque是现成的框架,比第一种方案要方便,第二是由于我们的消息队列服务要求比较轻量级,PHP-Resque刚好满足我们的要求。

那么,开始了。


二、环境搭建

有关PHP-resque的原理可以参考文章:http://avnpc.com/pages/run-background-task-by-php-resque

1)PHP-Resque必须运行在Linux环境下,所以先找一台Linux服务器吧

2)安装PHP的Redis扩展:安装方式网上自行搜索,安装完之后用phpinfo查看Redis扩展是否安装成功

3)需要支持PCNTL函数,可以写个脚本:

echo pcntl_fork();
检验是否支持pcntl函数。若不支持,去安装。我默认安装的php环境就支持这个函数。

4)安装Redis:安装方式网上很多,这里不再赘述


三、集成

1、可以用composer安装,十分方便。

composer require chrisboulton/php-resque


2、Job、Queue、Worker

熟悉PHP-resque的原理之后,都明白PHP-resque是由三个角色组成的:Job、Queue、Worker;其中Job负责处理对应事件的逻辑,Queue用于接收队列消息,Worker常驻内存,循环POP队列中的服务。

PHP-resque提供了一个简单的demo,里面实现了Job、Queue和Worker的逻辑,完全可以参考demo的逻辑来处理你自己的逻辑。


Job类:


以上是我实现消息推送

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值