Проблема была в том, что GinoEngine нужно инициализировать только один раз. А в моём коде выше когда пользователь подключается к вьюхе, каждый раз инициализируется подключение к GinoEngine и каждый раз затем закрывается при использовании инструкции with, по этой причине удавалось провести только одно подключение к базе для одного клиента из двух одновременно подключающихся.
Решением стало изменение кода app.py:
Теперь подключение к движку происходит только здесь
app = web.Application(middlewares=[db]) #Инициализируем приложение
app.add_routes(routes) #Добавление роутов в маршрутизатор
app['config'] = {'dsn': 'postgresql://mac@localhost/mydb'}
db.init_app(app)
app.router.add_static('/static', 'static') #Добавление директории со статическими файлами в маршрутизатор
А обращение к базе данных в view.py теперь следующее
@routes.get('/')
async def index(request):
await asyncio.sleep(1.5)
await User.create(name='jack', fullname='Jack Jones')
print(await User.query.gino.all())
with open('app.html') as f:
return web.Response(text=f.read(), content_type='text/html')
При этом вместо from gino import Gino я теперь использую импорт from gino.ext.aiohttp import Gino
Подробнее здесь
https://github.com/fantix/gino/issues/295#issuecom...