【Yar】Yar异步调用的超时时间问题以及解决方案
php,异步,Yar2016-11-04
由于具体业务功能需要,需要采用并行异步的方式调用方法。
但是业务上要求每个被调用的方法的执行时间最多60秒,这就导致采用Yar的调用一直是timeout.
Yar_Concurrent_Client::loop(): select timeout 5000ms reached
Yar扩展的配置项如下
所以,采用ini_set()
方法实现对php.ini的动态修改,实现修改yar.timeout
,完成超时时间的配置问题。
ini_set("yar.timeout",60000);
实际上这个方法在事例代码中是存在。
Yar_Concurrent_Client::call(“http://host/api/“, “some_method”, array(“parameters”), “callback”, NULL, array(YAR_OPT_TIMEOUT=>1));
在这里配置第五个参数,设置YAR_OPT_TIMEOUT
.
我在这里遇到的问题是,callback函数一直找不到,所以采用的是第一个方法。