【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函数一直找不到,所以采用的是第一个方法。

参看资料

目录
相关文章
|
消息中间件 NoSQL Java
Springboot 指定重发的次数和延迟时间,定时异步执行 重发任务
Springboot 指定重发的次数和延迟时间,定时异步执行 重发任务
934 0
Springboot 指定重发的次数和延迟时间,定时异步执行 重发任务
|
2月前
|
监控 中间件 PHP
hyperf-alarm-clock,一个自动计算代码执行时间,超时并发送通知的小工具
`hyperf-alarm-clock` 是专为 Hyperf 框架设计的库,用于监控代码执行时间并在超时后发送通知。支持多种通知通道,如标准输出、日志文件和飞书。适用于需要确保响应及时性的系统,如电商平台订单处理流程监控。安装简单,配置灵活,是提高系统性能和稳定性的有力工具。
45 1
hyperf-alarm-clock,一个自动计算代码执行时间,超时并发送通知的小工具
|
安全 Java
Hystrix超时机制为服务接口调用超时提供安全保护
Hystrix超时机制为服务接口调用超时提供安全保护
127 1
|
Java Android开发
Andoroid 11 开机广播处理超时导致第三方应用启动延迟
Andoroid 11 开机广播处理超时导致第三方应用启动延迟
538 0
Andoroid 11 开机广播处理超时导致第三方应用启动延迟
|
SQL 监控 JavaScript
接口突然超时10宗罪。。。
接口突然超时10宗罪。。。
协程搬运工-取消与超时
协程搬运工-取消与超时
293 0
|
安全
高可用服务架构设计(16) - 基于timeout机制来为商品服务接口的调用超时提供安全保护
高可用服务架构设计(16) - 基于timeout机制来为商品服务接口的调用超时提供安全保护
130 0
高可用服务架构设计(16) - 基于timeout机制来为商品服务接口的调用超时提供安全保护
|
Java Android开发 开发者
【Android 电量优化】JobScheduler 源码分析 ( JobServiceContext 源码分析 | 闭环操作总结 | 用户提交任务 | 广播接收者接受相关广播触发任务执行 )★
【Android 电量优化】JobScheduler 源码分析 ( JobServiceContext 源码分析 | 闭环操作总结 | 用户提交任务 | 广播接收者接受相关广播触发任务执行 )★
226 0
|
数据安全/隐私保护
如何使用timeout_express订单超时时间-参数解读系列
说明:   所有支付接口开始计时都是订单创建开始计时,不同接口对于timeout_express计时方式是不同的。   取值范围:1m~15d。m-分钟,h-小时,d-天,1c-当天(1c-当天的情况下,无论交易何时创建,都在0点关闭)。
2182 12