Как подключиться к postgres при использовании uvicorn.run
У меня телеграм бот (main.py), работающий на python3 и asyncpg. А так же программа (webhook.py) fastapi uvicorn.run, которая принимает платежи. После этого она выдаёт вип пользователю и записывает данные в БД.
Но у неё проблемы с подключением БД. Хотя тот же файл подключения как и у бота. Условный код webhook.py:
from src.base import db
app = FastAPI()
@app.post('/')
async def webhook(request: Request):
await db.get()
if __name__ == '__main__':
uvicorn.run(app, host='127.0.0.1', port=443)
Мне нужно воспользоваться и БД, и функциями в боте, которые так же импортируются, но БД выдаёт ошибку:
asyncpg.exceptions._base.InterfaceError: cannot perform operation: another operation is in progress
или
RuntimeError: Task <Task pending name='Task-55' coro=<_create_ssl_connection() running at /usr/local/lib/python3.10/dist-packages/asyncpg/connect_utils.py:684> cb=[_release_waiter(<Future pendi...ask_wakeup()]>)() at /usr/lib/python3.10/asyncio/tasks.py:387]> got Future <Future pending cb=[_chain_future.._call_check_cancel() at /usr/lib/python3.10/asyncio/futures.py:385]> attached to a different loop
Это происходит независимо от того включён ли основной бот или нет. Как это можно исправить? Ибо всё уже перечитал.