【Yar】Yar异步调用的超时时间问题以及解决方案

简介: 问题由于具体业务功能需要,需要采用并行异步的方式调用方法。但是业务上要求每个被调用的方法的执行时间最多60秒,这就导致采用Yar的调用一直是timeout. Yar_Concurrent_Client::loop(): select timeout 5000ms reached解决方案1.

问题

由于具体业务功能需要,需要采用并行异步的方式调用方法。

但是业务上要求每个被调用的方法的执行时间最多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);

2.方法参数设置

实际上这个方法在事例代码中是存在。

Yar_Concurrent_Client::call(“http://host/api/“, “some_method”, array(“parameters”), “callback”, NULL, array(YAR_OPT_TIMEOUT=>1));

在这里配置第五个参数,设置YAR_OPT_TIMEOUT.

我在这里遇到的问题是,callback函数一直找不到,所以采用的是第一个方法。

参看资料

目录
相关文章
|
3月前
|
JavaScript 前端开发 API
【Azure 应用服务】Azure Function HTTP 触发后, 230秒就超时。而其他方式触发的Function, 执行5分钟后也超时,如何调整超时时间?
【Azure 应用服务】Azure Function HTTP 触发后, 230秒就超时。而其他方式触发的Function, 执行5分钟后也超时,如何调整超时时间?
|
5月前
bitcoin core 请求拒绝响应【或者】卡死
bitcoin core 请求拒绝响应【或者】卡死
46 0
|
6月前
|
人工智能 Java
通过okhttp调用SSE流式接口,并将消息返回给客户端
通过okhttp调用SSE流式接口,并将消息返回给客户端
|
数据采集 网络协议 Java
HTTP调用:你考虑到超时、重试、并发了吗?
今天,我们一起聊聊进行 HTTP 调用需要注意的超时、重试、并发等问题。
333 0
|
小程序 前端开发 JavaScript
小程序request请求回调函数异步的解决办法
小程序request请求回调函数异步的解决办法
241 0
【C#编程最佳实践 二十二】如何发送带有重试机制的Http请求
【C#编程最佳实践 二十二】如何发送带有重试机制的Http请求
156 0
【C#编程最佳实践 二十二】如何发送带有重试机制的Http请求
|
应用服务中间件 测试技术 网络安全
服务器收不到支付宝notify_url异步回调请求的问题排查
服务器收不到支付宝notify_url异步回调请求的问题排查
259 0
|
Web App开发 前端开发 JavaScript
客户端与服务器持续同步解析(轮询,comet,WebSocket)
在B/S模型的Web应用中,客户端常常需要保持和服务器的持续更新。这种对及时性要求比较高的应用比如:股票价格的查询,实时的商品价格,自动更新的twitter timeline以及基于浏览器的聊天系统(如GTalk)等等。
1249 0