amplitude / amplitude/experiment-ruby-server

Add open_timeout_millis configuration to AmplitudeExperiment::RemoteEvaluationConfig

オープン
#71 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Ruby
スター
3
フォーク
6
PR マージ指標
30日以内にマージされた PR はありません

説明

## Summary

Currently, `AmplitudeExperiment::RemoteEvaluationConfig` allows configuring only `read_timeout` through the `fetch_timeout_millis` parameter.

Could you add `open_timeout_millis` to `AmplitudeExperiment::RemoteEvaluationConfig` to allow configuring the connection opening timeout?

```
config = AmplitudeExperiment::RemoteEvaluationConfig.new(
fetch_timeout_millis: 5000, # Read timeout
open_timeout_millis: 5000 # Open timeout (New)
)
```

A related discussion about this missing configuration occurred here:
[Issue #41 - Comment](https://github.com/amplitude/experiment-ruby-server/issues/41#issuecomment-1589858655).

## Motivations

Occasionally, requests to Amplitude fail due to excessive time required to establish a connection:

```
Failed to open TCP connection to api.lab.amplitude.com:443 (execution expired)"
```

Currently, the `open_timeout` value is not configurable and defaults to **60 seconds**, which can lead to a thread being blocked for an extended period. This impacts application performance, especially in multi-threaded environments where long waits can cause delays in processing other requests.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。