设置elasticsearch php客户端的connect_timeout
我想在我的Elasticsearch php客户端到我的Elasticsearch服务器之间配置一个小的超时。
我试图将一些参数传递给耗时的客户端,但这似乎不起作用。这是代码:
$params = array();$params['hosts'] = $hosts;
$params['guzzleOptions']['connect_timeout'] = 2.0;
$params['guzzleOptions']['timeout'] = 2.0;
$this->elastica_obj = new Elasticsearch\Client($params);
我搜索发现可能是由于在cURL层中设置了超时(低于guzzle而引起的问题 限制了与Guzzle HTTP
PHP客户端的连接时间
我想我需要以某种方式将CURLOPT_CONNECTTIMEOUT_MS参数设置为我想要的值(2000毫秒),但我看不到任何通过Elasticsearch
php客户端传递它的好方法。
有人知道该怎么做吗?
回答:
谢谢Zack,我尝试了一下,但是没有用。
我调试了客户端以及参数从枪口传递到curl句柄的方式。
我找到的方法是将此参数传递给Elasticsearch客户端
$params['guzzleOptions']['curl.options'][CURLOPT_CONNECTTIMEOUT] = 2.0; // this applies 2 seconds connection_timeout
希望它会有所帮助:)
尼夫
以上是 设置elasticsearch php客户端的connect_timeout 的全部内容, 来源链接: utcz.com/qa/419753.html