algolia / algolia/algoliasearch-client-python
feat: Edit the requests configuration pool_maxsize variable when initializing client
- Vorherrschende Sprache
- Python
- Sterne
- 207
- Forks
- 63
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
- 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.
Beitragsleitfaden
Rechercherichtung
Beginne beim Initialisierungspfad des Search-Clients und verfolge, wie dessen requests-Session oder Verbindungspool konfiguriert wird. Überprüfe, wie nebenläufige save_object-Aufrufe diese Konfiguration verwenden; fertig ist die Arbeit, wenn Aufrufer beim Erstellen des Clients pool_maxsize festlegen können und die Reproduktion mit 100 Workern keine Warnung über einen vollen Pool mehr ausgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- api, backend
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100