【发布时间】:2015-02-10 13:11:16
【问题描述】:
我有以下困境,我有一个SOAP API,需要优化一个方法:
public function myMethodForOptimisation(array $options) {
//doing some stuff
$this->requestsAnUltraSlowTimeConsumingMethod();
return $someData;
}
我真的不需要等待$this->requestsAnUltraSlowTimeConsumingMethod() 的最终确定,我只是想异步告诉这个方法做的事情和return 的结果给客户。
需要将其转换为:
public function myMethodForOptimisation(array $options) {
//doing some stuff
async_method_call($this->requestsAnUltraSlowTimeConsumingMethod());
return $someData;
}
PHP 中有 async_method_call() 吗?
【问题讨论】:
-
线程或分叉 cURL 请求。无论哪种方式,您都需要一种方法来通知您的主应用程序资源在某个时候可用。
-
但请注意,它在不同的操作系统以及不同的网络服务器配置上会表现不同。有些方法可能根本不起作用。
-
$someData来自哪里?你想从你的异步调用中返回一些东西吗? -
$someData是在$this->slowMethod()之前计算的,我建议我的客户将此方法一分为二,并为第一种方法发出 2 个请求,为另一种方法发出第二个请求,但是它告诉我只能在后台找到解决方案
标签: php