[FR] Allow poolsize and maxpool size settings for http client
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- backend-api-design
Línea de trabajo
Comienza por el constructor de HttpClient mostrado en el issue e inspecciona cómo su requests.Session monta instancias de HTTPAdapter para ambos esquemas. Sigue la configuración existente de reintentos, timeout y session, y verifica después que los ajustes configurables del pool se apliquen de forma coherente a las solicitudes HTTP y HTTPS, y que el comportamiento del cliente no cambie por defecto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
I am currently facing a performance issue in which the default max pool size of requests library has become a bottleneck.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I was wondering if we could increase the pool size by taking them as parameters for message client constructor
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
class HttpClient:
def __init__(
self, credential=None, session=None, base_url='', headers=None,
retries=DEFAULT_RETRY_CONFIG, timeout=DEFAULT_TIMEOUT_SECONDS,
pool_connections=DEFAULT_POOL_CONNECTIONS, pool_maxsize=DEFAULT_MAX_POOL_SIZE
):
if credential:
self._session = transport.requests.AuthorizedSession(credential)
elif session:
self._session = session
else:
self._session = requests.Session() # pylint: disable=redefined-variable-type
if headers:
self._session.headers.update(headers)
if retries:
self._session.mount('http://', requests.adapters.HTTPAdapter(max_retries=retries))
self._session.mount('https://', requests.adapters.HTTPAdapter(max_retries=retries))
self._session.mount('http://', requests.adapters.HTTPAdapter(pool_connections=pool_connections, pool_maxsize=pool_maxsize))
self._session.mount('https://', requests.adapters.HTTPAdapter(pool_connections=pool_connections, pool_maxsize=pool_maxsize))
self._base_url = base_url
self._timeout = timeout
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 359
- Merge medio
- 3 d 9 h
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firebase/firebase-admin-python
-
api: remoteconfig
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
firebase/firebase-admin-python#957 · 1 comentario ·
-
api: database type: feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
firebase/firebase-admin-python#978 · 1 comentario ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Abiertoapi: auth
firebase/firebase-admin-python#949 · 2 comentarios · 1 reacción · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 43/100
firebase/firebase-admin-python#945 · 1 comentario · 1 reacción ·
Todos los issues de firebase/firebase-admin-python
Issues similares
-
essnmx good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
[Feature] 奇物选择添加优先级 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
syfoud/Simulated_Scepter#174 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Giskard-AI/giskard-oss#2840 · 1 comentario ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Abiertoarea: repo bug perceived difficulty: 2
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
yeti-platform/yeti#1380 ·