Código de Amostra do Pool de Conexões
Saiba mais sobre alguns códigos de amostra de pool de conexões particularmente eficientes a serem adicionados às funções que você cria com o OCI Functions.
Para funções que se conectam a recursos externos, você geralmente deseja incluir o código de pool de conexões em uma função para reduzir o tempo necessário para estabelecer uma conexão quando a função for chamada pela primeira vez.
Esta seção mostra um código de amostra de pool de conexões particularmente eficiente.
Exemplo Python de Código de Pool de Conexões
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()