Answer (obvious after a refreshing sleep): Just run a separate async pool connection prior to kicking off the aiohttp web application. The startup now looks like:
async def connect(): return await aiopg.create_pool(…) if __name__ == “__main__”: loop = asyncio.get_event_loop() pool = loop.run_until_complete(connect()) app = web.Application() app["pool"] = pool app.router.add_route(‘POST', '/pv/v1/', handle_v1) web.run_app(app) Then, in the handle_v1 code: pool = request.app["pool"] connection = await pool.acquire() cursor = await connection.cursor() —r On Thu, Feb 25, 2016 at 5:23 PM, Ray Cote <rgac...@appropriatesolutions.com> wrote: > Hello: > > I have an aiohttp project that starts in the usual way: > > app = web.Application() > app.router.add_route(‘POST”, ‘/‘, handler) > web.run_app(app) > > My question is, how do I work with an aiopg.pool with aiohttp? > There only seems to be async interfaces into aiopg — but I don’t want to > create the pool in my handler since that requires a connection on each > transaction. > > I found one example that was > app[“db”] = await aiopg.create_pool(dsn) > but that doesn’t seen correct since we’re not yet in a loop. > > Can someone please provide an example showing the proper way to integrate > aiopg pool into an aiohttp web application? > > Regards > —Ray > > -- > Raymond Cote, President > voice: +1.603.924.6079 email: rgac...@appropriatesolutions.com skype: > ray.cote > > > -- Raymond Cote, President voice: +1.603.924.6079 email: rgac...@appropriatesolutions.com skype: ray.cote -- https://mail.python.org/mailman/listinfo/python-list