algolia / algolia/algoliasearch-client-python

feat: Edit the requests configuration pool_maxsize variable when initializing client

Ouverte
#521 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
207
Forks
63
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

- Algolia Client Version: 2.4.0
- Language Version: Python 3.9.1

### Description
I'm replicating a dataset (60k records) with 100 threads (Python's builtin _ThreadExecutor_) at a time. And I find that from time to time I keep getting these warnings from the 'requests' library: **"Connection pool is full, discarding connection: xxxxxxxx.algolia.net"**.

The ability to edit the _pool_maxsize_ configuration variable when initializing the search client would solve this kind of issues, perhaps even allowing to edit other _requests_ configurations.

### Steps To Reproduce
Initialize a ThreadExecutor of 100 max workers.
Create a function that uses 'save_object' to store a record in a predefined index.
Loop through thousands of records, for each record:
-Add the function that saves the record with the record data to the executor

You should get the warning every ~1000 records.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le chemin d’initialisation du client de recherche et suivez la manière dont sa session requests ou son pool de connexions est configuré. Vérifiez comment les appels concurrents à save_object utilisent cette configuration ; c’est terminé lorsque les appelants peuvent définir pool_maxsize lors de la création du client et que la reproduction avec 100 workers n’émet plus l’avertissement indiquant que le pool est plein.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
api, backend
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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