我想在我的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
希望它会有所帮助:)
尼夫