小编典典

设置elasticsearch php客户端的connect_timeout

elasticsearch

我想在我的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客户端传递它的好方法。

有人知道该怎么做吗?


阅读 633

收藏
2020-06-22

共1个答案

小编典典

谢谢Zack,我尝试了一下,但是没有用。

我调试了客户端以及参数从枪口传递到curl句柄的方式。

我找到的方法是将此参数传递给Elasticsearch客户端

$params['guzzleOptions']['curl.options'][CURLOPT_CONNECTTIMEOUT] = 2.0;  // this applies 2 seconds connection_timeout

希望它会有所帮助:)

尼夫

2020-06-22