如题:
其实大概就是想在打开一个页面的时候,再通过api去触发一个程序,但是这个程序执行的比较慢,我不想在页面里理会它的执行和返回,触发请求之后直接就继续执行后面的代码,请问大家,这种情况时具体用php代码应该如何实现?
闭关修行中......
@dawnblog 说的方法诚然是可以的,但是题主的需求只需要用fsockopen简单地触发一下就可以了,并不需要处理回调数据.
fsockopen
参考: http://www.laruence.com/2008/...
这样告诉你吧,如果你想异步出发程序不是不可以,用socket就可以实现具体实施的步骤1.发送指令到socket服务器上2.socket接收指令,通过长链接的方式,异步发送命令到另外一个任务处理服务器上3.socket直接告知web服务器收到指令并执行,但任务通过任务处理服务器来执行. ---- 这一步,相当于ajax异步执行4.任务处理服务器完成后,发送完成指令到socket服务器上.5.由socket服务器完成指定的任务完成逻辑.在第5步中可以细化,当然了,我对于异步是这样处理的,如果有其他更好的方式请指出不足指出.以上代码具体实现请查看workman
小伙子,老夫传授给你两字真言:队!列!
如果时效性不强的话。推荐缓存起来
fastcgi_finish_request()可以满足你,php-fpm才支持。。或者搞个队列服务
php连异步回调都没有吗?哎
swoole进程管理不一样的PHP 参见swoole进程管理
这不就是异步传输技术吗?不使用socket也可以的吧
@dawnblog 说的方法诚然是可以的,但是题主的需求只需要用
fsockopen
简单地触发一下就可以了,并不需要处理回调数据.参考: http://www.laruence.com/2008/...
这样告诉你吧,如果你想异步出发程序不是不可以,用socket就可以实现
具体实施的步骤
1.发送指令到socket服务器上
2.socket接收指令,通过长链接的方式,异步发送命令到另外一个任务处理服务器上
3.socket直接告知web服务器收到指令并执行,但任务通过任务处理服务器来执行. ---- 这一步,相当于ajax异步执行
4.任务处理服务器完成后,发送完成指令到socket服务器上.
5.由socket服务器完成指定的任务完成逻辑.
在第5步中可以细化,当然了,我对于异步是这样处理的,如果有其他更好的方式请指出不足指出.
以上代码具体实现请查看workman
小伙子,老夫传授给你两字真言:队!列!
如果时效性不强的话。推荐缓存起来
fastcgi_finish_request()可以满足你,php-fpm才支持。。或者搞个队列服务
php连异步回调都没有吗?哎
swoole进程管理不一样的PHP 参见swoole进程管理
这不就是异步传输技术吗?不使用socket也可以的吧