У меня есть класс engine.py, который возвращает пул соединений.
class PIIEngine:
async def engine(self):
self.pool = await asyncpg.create_pool(
config.pg_gdpr_contact_db_url)
return self.pool
Затем у меня есть другой модуль с именем model.py, который имеет
def get_contacts(id):
async def get(loop):
conn = await engine.engine()
async with conn.acquire() as txn:
async with txn.transaction():
stmt = """
SELECT *
FROM
<TABLE>
WHERE
id = $1
"""
contact = await txn.fetchrow(stmt, id)
if contact:
return dict(contact)
else:
return None
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
asyncio.ensure_future(get(loop))
loop.close()
, функция get_contacts
is вызывается из swagger api, но когда я слишком часто нажимаю на это api, я получаю
ERROR - asyncio - Task was destroyed but it is pending!
task: <Task pending coro=<get_contacts.<locals>.get() running at
/usr/src/models.py:2>>