Las partes relevantes de mi código son las siguientes:
@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)Se ejecuta en el siguiente entorno:
mi pregunta son:
¿Alguien puede ayudarme? ¡Gracias!