amplitude / amplitude/experiment-ruby-server

Add open_timeout_millis configuration to AmplitudeExperiment::RemoteEvaluationConfig

Ouverte
#71 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Ruby
Étoiles
3
Forks
6
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## 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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.