【Yar】Yar异步调用的超时时间问题以及解决方案
【摘要】
问题
由于具体业务功能需要,需要采用并行异步的方式调用方法。
但是业务上要求每个被调用的方法的执行时间最多60秒,这就导致采用Yar的调用一直是timeout.
Yar_Concurrent_...
问题
由于具体业务功能需要,需要采用并行异步的方式调用方法。
但是业务上要求每个被调用的方法的执行时间最多60秒,这就导致采用Yar的调用一直是timeout.
Yar_Concurrent_Client::loop(): select timeout 5000ms reached
解决方案
1.修改配置文件
Yar扩展的配置项如下
- yar.packager php
- yar.debug
- yar.connect_timeout
- yar.timeout
- yar.expose_info
所以,采用ini_set()
方法实现对php.ini的动态修改,实现修改yar.timeout
,完成超时时间的配置问题。
ini_set("yar.timeout",60000);
- 1
2.方法参数设置
实际上这个方法在事例代码中是存在。
Yar_Concurrent_Client::call(“http://host/api/“, “some_method”, array(“parameters”), “callback”, NULL, array(YAR_OPT_TIMEOUT=>1));
文章来源: coderfix.blog.csdn.net,作者:小雨青年,版权归原作者所有,如需转载,请联系作者。
原文链接:coderfix.blog.csdn.net/article/details/53038407
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)