设置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

回到顶部