Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

185
Vistas
How to use AsyncElasticsearch Connection Pool in FastApi?

The relevant parts of my code are as follows:

@app.on_event("startup")
async def startup():
    es = Translator()
    app.state.es_conn = es.connect()


@app.on_event('shutdown')
async def shutdown_event():
    es = Translator()
    await es.close(app.state.es_conn)


@app.post('/query')
async def query(req: Request):
    es = Translator()
    es.set_conn(req.app.state.es_conn)

    return await es.search()


from elasticsearch import AsyncElasticsearch, AsyncTransport

class Translator(object):
    def __init__(self):
        self.__es = None

    def connect(self):
        return AsyncElasticsearch(
            hosts='http://192.168.0.2:9200/',
            transport_class=AsyncTransport)

    def set_conn(self, conn):
        self.__es = conn

    async def close(self, conn):
        await conn.close()
        self.__es = None

    async def search(self):
        return await self.__es.search(index=index, body=body)

It runs in the following environment:

  • PyPy 7.3.7
  • fastapi 0.73.0
  • Elasticsearch 7.10.1

My question are:

  1. Although the code can work normally, how can I detect whether it uses connection pool?
  2. How to use connection pool correctly when asynchronous?

Can anyone help me? Thank you!

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda