chat         | sqlalchemy.exc.TimeoutError: QueuePool limit of size 20 overflow 30 reached, connection timed out, timeout 30.00 (Background on this error at: https://sqlalche.me/e/20/3o7r)
chat         | ERROR:    Exception in ASGI application
chat         | Traceback (most recent call last):
chat         |   File "/app/core/venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 255, in run_asgi
chat         |     result = await self.app(self.scope, self.asgi_receive, self.asgi_send)
chat         |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
chat         |     return await self.app(scope, receive, send)
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/fastapi/applications.py", line 1106, in __call__
chat         |     await super().__call__(scope, receive, send)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/applications.py", line 122, in __call__
chat         |     await self.middleware_stack(scope, receive, send)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 149, in __call__
chat         |     await self.app(scope, receive, send)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
chat         |     raise exc
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
chat         |     await self.app(scope, receive, sender)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
chat         |     raise e
chat         |   File "/app/core/venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
chat         |     await self.app(scope, receive, send)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
chat         |     await route.handle(scope, receive, send)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/routing.py", line 341, in handle
chat         |     await self.app(scope, receive, send)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/starlette/routing.py", line 82, in app
chat         |     await func(session)
chat         |   File "/app/core/venv/lib/python3.11/site-packages/fastapi/routing.py", line 325, in app
chat         |     await dependant.call(**values)
chat         |   File "/app/chat/main.py", line 102, in room_chat_endpoint
chat         |     history = await event_client.message_history_in_room(room_id)
chat         |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/chat/service/ws_handler.py", line 92, in message_history_in_room
chat         |     unread, phone = await room_orm.unread_and_client_phone(room_id) or [0], None
chat         |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/chat/utils/orm/base.py", line 141, in wrapper
chat         |     return await method(self, conn, *args, **kwargs)
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/chat/utils/orm/room.py", line 394, in unread_and_client_phone
chat         |     res = await db.execute(query)
chat         |           ^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/ext/asyncio/session.py", line 455, in execute
chat         |     result = await greenlet_spawn(
chat         |              ^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 190, in greenlet_spawn
chat         |     result = context.throw(*sys.exc_info())
chat         |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2308, in execute
chat         |     return self._execute_internal(
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2180, in _execute_internal
chat         |     conn = self._connection_for_bind(bind)
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2047, in _connection_for_bind
chat         |     return trans._connection_for_bind(engine, execution_options)
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "<string>", line 2, in _connection_for_bind
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
chat         |     ret_value = fn(self, *arg, **kw)
chat         |                 ^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1143, in _connection_for_bind
chat         |     conn = bind.connect()
chat         |            ^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3268, in connect
chat         |     return self._connection_cls(self)
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 145, in __init__
chat         |     self._dbapi_connection = engine.raw_connection()
chat         |                              ^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 3292, in raw_connection
chat         |     return self.pool.connect()
chat         |            ^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 452, in connect
chat         |     return _ConnectionFairy._checkout(self)
chat         |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 1269, in _checkout
chat         |     fairy = _ConnectionRecord.checkout(pool)
chat         |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/base.py", line 716, in checkout
chat         |     rec = pool._do_get()
chat         |           ^^^^^^^^^^^^^^
chat         |   File "/app/core/venv/lib/python3.11/site-packages/sqlalchemy/pool/impl.py", line 158, in _do_get
chat         |     raise exc.TimeoutError(
chat         | sqlalchemy.exc.TimeoutError: QueuePool limit of size 20 overflow 30 reached, connection timed out, timeout 30.00 (Background on this error at: https://sqlalche.me/e/20/3o7r)
