PHP 由于客户比较多,发送短信格式类型有很多种,想用短信队列来解决,不知道如何下手
伊谢尔伦
伊谢尔伦 2017-04-11 10:01:52
0
10
675

PHP 由于客户比较多,发送短信类型有很多种,想用短信队列来解决发送担心,不知道如何下手???

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(10)
PHPzhong

简单点用redis lpush lpop

$redis->lpush('queue',json_encode($data));

开一个进程lpop消费就可以了,你可以先本地测试下while($redis->lpop('queue'))

大家讲道理

一个生产者,一个消费者进程。
消费的任务就是发送短信。
你可以把任务放到redis的list类型中,再开一个常住进程监控redis,有任务就拿出来消费。

伊谢尔伦

既然选择用队列,方式有很多
1.很多php框架都有队列的功能 laravel phalcon等
2.就是redis list数据类型 ,一边把它推入队列中,另一边把任务从队列里拿出来,这只是一个中转站,当然你也可以存到数据库里,效率当然是redis高一些

PHPzhong

那就用队列来解决问题了啊,有什么疑问吗?

黄舟

每次用户端请求发短信, 你直接把你直接把这个方法丢到队列里面去, 然后在服务器里面在启动一个php守护进程,比如每隔1s中扫队列里面,如果有数据,就去执行这个方法, ,, 如果你不放心, 你就在写一个shell脚本, 去每隔10分钟去检测这个队列有没有挂........

Ty80

https://github.com/pda/pheans...

用这个库试试呢?

小葫芦

把内容和号码一起放队列

黄舟

自己去维护这样的一个工作还是比较累的。推荐使用第三方库
可以尝试一下phpsms这个库

黄舟

RabbitMQ+PHP 消息队列

刘奇

建议轻量的用beanstalks,Redis的pub/sub 在c/s中断时,将丢数据,不是MQ。rabbitmq之类的有点重,看是否需有那么大量。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!