比如ajax请求一个php
需要返回success和curl一个接口(后续任务)
但是curl很耗时,弄的ajax请求时间很长
能不能先返回success了,再继续处理curl,简单点的不损耗性能的
需要返回success和curl一个接口(后续任务)
但是curl很耗时,弄的ajax请求时间很长
能不能先返回success了,再继续处理curl,简单点的不损耗性能的
|
nigelvonFeb 27, 2013
1
用fputs请求需要后续处理的php 脚本,同时返回success。这样是不需要等待脚本完成的。
|
|
lyxintFeb 27, 2013
2
gearman
|
|
twmFeb 27, 2013
3
queue
|
|
jerryFeb 27, 2013
4
fpm 的 fastcgi_finish_request
|
|
5
@jerry 这个好是好,可惜只能是fpm模式
|
|
fkccpFeb 27, 2013
7
ajax请求两个地址,一个success,一个做后续
|
|
CadinaFeb 27, 2013
8
异步队列,一般的云计算服务都有
|
|
AlloVinceFeb 27, 2013
9
|
|
laputa7Feb 27, 2013
10
可以设置CURLOPT_TIMEOUT_MS,但是对curl与php的版本有要求,或者队列。
|
|
yayanetFeb 27, 2013
11
简单处理可以这样
exec("php script.php p1 p2 p3 > /tmp/result.out &") |
|
qq286735628Feb 27, 2013
12
|
|
AsimovFeb 27, 2013
13
把要处理的任务列表写入数据库。然后用crontab来定时执行要处理的东西。这是不用学习新的东西最简单有效果的方法。
|
|
justplaymoreApr 28, 2013
14
一种是队列,另一种是用输出控制,ob_flush,队列的性能更好,因为是异步的。
|