algolia / algolia/algoliasearch-client-python

feat: Edit the requests configuration pool_maxsize variable when initializing client

Offen
#521 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.