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

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

伊谢尔伦
伊谢尔伦

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

全員に返信(10)
PHPzhong

简单点用redis lpush lpop

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

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

いいねを押す +0
大家讲道理

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

いいねを押す +0
伊谢尔伦

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

いいねを押す +0
PHPzhong

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

いいねを押す +0
黄舟

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

いいねを押す +0
Ty80

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

用这个库试试呢?

いいねを押す +0
小葫芦

把内容和号码一起放队列

いいねを押す +0
黄舟

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

いいねを押す +0
黄舟

RabbitMQ+PHP 消息队列

いいねを押す +0
刘奇

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!