Código de ejemplo de agrupación de conexiones
Descubra algún código de ejemplo de pool de conexiones especialmente eficaz para considerar la posibilidad de agregarlo a las funciones que crea con OCI Functions.
En el caso de las funciones que se conectan a recursos externos, normalmente se recomienda incluir el código de pool de conexiones en una función para reducir el tiempo necesario para establecer una conexión cuando se llame a la función por primera vez.
En esta sección se muestra un código de ejemplo de pool de conexiones especialmente eficaz.
Ejemplo de Python de código de pool de conexiones
import requests, json, logging
def send_to_endpoint(data: list, rest_endpoint: str):
"""
This function demonstrates best practices to efficiently POST data payloads to REST API endpoints.
Because the Session and HTTPAdapter negotiate and retain TLS sessions with endpoints for the life of
the connection pool, it eliminates expensive TLS re-negotiation per POST.
"""
session = None
try:
session = requests.Session()
adapter = requests.adapters.HTTPAdapter(pool_connections=10, pool_maxsize=10)
session.mount('https://', adapter)
http_headers = {'Content-type': 'application/json'}
for item in data:
resp = session.post(rest_endpoint, data=json.dumps(item), headers=http_headers)
if resp.status_code not in [200, 202]:
raise RuntimeError(f'POST Error / {resp.status_code} / {resp.text}')
logging.info(f'POST Success / {resp.status_code} / {resp.text}')
finally:
session.close()