PHP 异步通知(微信通知,短信通知,邮件通知)怎么做?如果全部等待返回结果会卡死

2019-04-02 09:48:26 +08:00
 yanluya

最近在做 php 客户订单通知的功能,加入了微信通知,短信通知,邮件通知。可是时间一长,客户提交订单很慢,而且有时候会请求超时,必须用异步通知来,大家有好的解决方法吗?

7043 次点击
所在节点    PHP
37 条回复
blackjar
2019-04-02 09:53:49 +08:00
队列
zjsxwc
2019-04-02 09:55:52 +08:00
单独跑个进程处理啊,最简单可以用 Jenkins 一个 jar 包搞定
klgd
2019-04-02 10:03:37 +08:00
消息队列,我们现在就是把消息通知放到 rabbitmq 上发的
rxzxf1993
2019-04-02 10:08:23 +08:00
swoole
iSecret
2019-04-02 10:10:21 +08:00
队列,通知一类耗时的任务全部丢到 redis 一类的介质里,后台搞个脚本去执行。
fuxkcsdn
2019-04-02 10:10:44 +08:00
标准答案上队列
无脑方案,fastcgi_finish_request
Moker
2019-04-02 10:11:30 +08:00
php-resque PHP 队列的一个实现 基于 Redis List 也可以自己实现
Light3
2019-04-02 10:11:57 +08:00
队列 阿里云就有 其实就 redis 搞个队列 然后放进去 单独开一个进程 一直跑
tomczhen
2019-04-02 10:17:44 +08:00
laravel queues
RyanOne
2019-04-02 10:20:16 +08:00
简单一点的 fsockopen
gabezhao
2019-04-02 10:52:04 +08:00
swoole
phpcxy
2019-04-02 10:52:35 +08:00
队列
xnode
2019-04-02 11:00:31 +08:00
简单 fsockopen 标准 队列 其他的 Guzzle
yanluya
2019-04-02 11:10:00 +08:00
队列应该是处理并发量大的订单和秒杀一类的商品比较好,像下单频率很低,有时一天才 2 单这样的,用队列会不会大材小用?
chinvo
2019-04-02 11:10:50 +08:00
laravel/think queue
lcy630409
2019-04-02 11:17:44 +08:00
- -
建一个表,然后定时执行,处理表中的通知,发送....
简单 好维护,不需要其他的成本
m939594960
2019-04-02 11:17:59 +08:00
@yanluya #14 不会,耗时任务 php 不用 swoole 类的东西 只能用队列
codebear01
2019-04-02 11:20:08 +08:00
插到队列表,跑脚本处理
yanluya
2019-04-02 11:24:41 +08:00
php 没有异步程序吗?像 Java 那种开线程池,跑线程??
xnode
2019-04-02 11:29:06 +08:00
@yanluya php 没有线程 只有异步函数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/551104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX