INFO: Will watch for changes in these directories: ['/home/kernelci'] INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) INFO: Started reloader process [1] using WatchFiles INFO: Started server process [8] INFO: Waiting for application startup. INFO: Application startup complete. INFO: 192.168.224.1:42334 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:49956 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:40988 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:41002 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.224.1:59962 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:59168 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:38240 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:38246 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.224.1:54406 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:54412 - "GET /latest/viewer?node_id=66d69adbbc920e0e669059da HTTP/1.0" 200 OK INFO: 192.168.224.1:35634 - "GET /latest/viewer?search=parent%3D67b5441a532ea6887f906459 HTTP/1.0" 200 OK INFO: 192.168.224.1:35636 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:59048 - "GET /latest/node/66d69adbbc920e0e669059da HTTP/1.0" 200 OK INFO: 192.168.224.1:59062 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:59076 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.224.1:59090 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.224.1:59096 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T19%3A58%3A11.207897&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59112 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59126 - "GET /latest/listen/45353 HTTP/1.0" 200 OK INFO: 192.168.224.1:59140 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.224.1:59152 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A58%3A12.832243&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59154 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A58%3A12.832243&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59160 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A58%3A12.832243&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59172 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59188 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.224.1:59192 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59198 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59216 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59226 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59234 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59238 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59260 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59276 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.224.1:59288 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.224.1:59302 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.224.1:59316 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59324 - "POST /latest/subscribe/node?promisc=True HTTP/1.0" 200 OK INFO: 192.168.224.1:59340 - "GET /latest/nodes/fast?state=done&processed_by_kcidb_bridge=False&created__gt=2025-02-20+19%3A58%3A15.119611&limit=20 HTTP/1.0" 200 OK INFO: 192.168.224.1:59344 - "GET /latest/node/67bca64eb5a50b72fc9c95b0 HTTP/1.0" 200 OK INFO: 192.168.224.1:59358 - "GET /latest/node/67bc9aa2b5a50b72fc9c93dc HTTP/1.0" 200 OK INFO: 192.168.224.1:59362 - "GET /latest/node/67bcca15b5a50b72fc9c970a HTTP/1.0" 200 OK INFO: 192.168.224.1:58492 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=86ebf1b8d1b5c6dfc98323972a7fbff223f15244&owner=staging.kernelci.org&submitter=service%3Apipeline HTTP/1.0" 200 OK INFO: 192.168.224.1:58500 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=86ebf1b8d1b5c6dfc98323972a7fbff223f15244&owner=staging.kernelci.org&submitter=service%3Apipeline&result=incomplete HTTP/1.0" 200 OK INFO: 192.168.224.1:58506 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:58508 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=222268be5f0026e9c7c8710818c3c28604dd8326&owner=staging.kernelci.org&submitter=service%3Apipeline HTTP/1.0" 200 OK INFO: 192.168.224.1:58512 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=222268be5f0026e9c7c8710818c3c28604dd8326&owner=staging.kernelci.org&submitter=service%3Apipeline&result=incomplete HTTP/1.0" 200 OK INFO: 192.168.224.1:58514 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=0e42e39a4feab8b6aa1f1f80275c745357a89c48&owner=staging.kernelci.org&submitter=service%3Apipeline HTTP/1.0" 200 OK INFO: 192.168.224.1:58528 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=0e42e39a4feab8b6aa1f1f80275c745357a89c48&owner=staging.kernelci.org&submitter=service%3Apipeline&result=incomplete HTTP/1.0" 200 OK INFO: 192.168.224.1:58530 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=2126558d4412425d24b63727d30bec6e463868d2&owner=staging.kernelci.org&submitter=service%3Apipeline HTTP/1.0" 200 OK INFO: 192.168.224.1:58546 - "GET /latest/count?kind=checkout&data.kernel_revision.commit=2126558d4412425d24b63727d30bec6e463868d2&owner=staging.kernelci.org&submitter=service%3Apipeline&result=incomplete HTTP/1.0" 200 OK INFO: 192.168.224.1:50670 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:37410 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:37424 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.224.1:37432 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:47538 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:47548 - "GET /latest/viewer?node_id=665c3897b5ca0de83e1dd467 HTTP/1.0" 200 OK INFO: 192.168.224.1:47552 - "GET /latest/node/665c3897b5ca0de83e1dd467 HTTP/1.0" 200 OK INFO: 192.168.224.1:59366 - "GET /latest/listen/45362 HTTP/1.0" 200 OK INFO: 192.168.224.1:59274 - "GET /latest/listen/45360 HTTP/1.0" 200 OK INFO: 192.168.224.1:59258 - "GET /latest/listen/45359 HTTP/1.0" 200 OK INFO: 192.168.224.1:59250 - "GET /latest/listen/45358 HTTP/1.0" 200 OK INFO: 192.168.224.1:59228 - "GET /latest/listen/45357 HTTP/1.0" 200 OK INFO: 192.168.224.1:59218 - "GET /latest/listen/45356 HTTP/1.0" 200 OK INFO: 192.168.224.1:59204 - "GET /latest/listen/45355 HTTP/1.0" 200 OK INFO: 192.168.224.1:59176 - "GET /latest/listen/45354 HTTP/1.0" 200 OK INFO: 192.168.224.1:59134 - "GET /latest/listen/45353 HTTP/1.0" 200 OK INFO: 192.168.224.1:54306 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:54312 - "GET /latest/viewer?node_id=67b6051b07a05f85dfbbf475 HTTP/1.0" 200 OK INFO: 192.168.224.1:54318 - "GET /latest/node/67b6051b07a05f85dfbbf475 HTTP/1.0" 200 OK INFO: 192.168.224.1:44738 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:44746 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.224.1:44760 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T19%3A59%3A11.270767&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:44772 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A59%3A12.925209&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:44774 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A59%3A12.925209&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:44784 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A59%3A12.925209&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:44796 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:44812 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:57064 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:43944 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:33066 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:33078 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.224.1:47654 - "GET /latest/listen/45362 HTTP/1.0" 200 OK INFO: 192.168.224.1:47626 - "GET /latest/listen/45360 HTTP/1.0" 200 OK INFO: 192.168.224.1:47638 - "GET /latest/listen/45359 HTTP/1.0" 200 OK INFO: 192.168.224.1:47582 - "GET /latest/listen/45358 HTTP/1.0" 200 OK INFO: 192.168.224.1:47566 - "GET /latest/listen/45357 HTTP/1.0" 200 OK INFO: 192.168.224.1:47558 - "GET /latest/listen/45356 HTTP/1.0" 200 OK INFO: 192.168.224.1:47598 - "GET /latest/listen/45355 HTTP/1.0" 200 OK INFO: 192.168.224.1:47650 - "GET /latest/listen/45354 HTTP/1.0" 200 OK INFO: 192.168.224.1:47610 - "GET /latest/listen/45353 HTTP/1.0" 200 OK INFO: 192.168.224.1:33172 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:45742 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:45748 - "GET /latest/viewer?search=parent%3D67b6051b07a05f85dfbbf400 HTTP/1.0" 200 OK INFO: 192.168.224.1:48732 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:60732 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:60740 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.224.1:60742 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T20%3A00%3A11.285952&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:60744 - "GET /latest/nodes?timeout__lt=2025-02-24T20%3A00%3A13.006747&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:60746 - "GET /latest/nodes?timeout__lt=2025-02-24T20%3A00%3A13.006747&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:60756 - "GET /latest/nodes?timeout__lt=2025-02-24T20%3A00%3A13.006747&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:60758 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:60766 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:34852 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:33110 - "GET /latest/listen/45362 HTTP/1.0" 200 OK INFO: 192.168.224.1:33158 - "GET /latest/listen/45360 HTTP/1.0" 200 OK INFO: 192.168.224.1:33170 - "GET /latest/listen/45359 HTTP/1.0" 200 OK INFO: 192.168.224.1:33086 - "GET /latest/listen/45358 HTTP/1.0" 200 OK INFO: 192.168.224.1:33126 - "GET /latest/listen/45357 HTTP/1.0" 200 OK INFO: 192.168.224.1:33132 - "GET /latest/listen/45356 HTTP/1.0" 200 OK INFO: 192.168.224.1:33084 - "GET /latest/listen/45355 HTTP/1.0" 200 OK INFO: 192.168.224.1:33120 - "GET /latest/listen/45354 HTTP/1.0" 200 OK INFO: 192.168.224.1:33146 - "GET /latest/listen/45353 HTTP/1.0" 200 OK INFO: 192.168.224.1:53746 - "GET /latest/nodes?parent=67b6051b07a05f85dfbbf400&limit=250 HTTP/1.0" 200 OK INFO: 192.168.224.1:53754 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:53866 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:53868 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.224.1:53880 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:45404 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:40936 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:38888 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:38890 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.224.1:34932 - "GET /latest/listen/45362 HTTP/1.0" 200 OK INFO: 192.168.224.1:34910 - "GET /latest/listen/45360 HTTP/1.0" 200 OK INFO: 192.168.224.1:34948 - "GET /latest/listen/45359 HTTP/1.0" 200 OK INFO: 192.168.224.1:34872 - "GET /latest/listen/45358 HTTP/1.0" 200 OK INFO: 192.168.224.1:34878 - "GET /latest/listen/45357 HTTP/1.0" 200 OK INFO: 192.168.224.1:34890 - "GET /latest/listen/45356 HTTP/1.0" 200 OK INFO: 192.168.224.1:34894 - "GET /latest/listen/45355 HTTP/1.0" 200 OK INFO: 192.168.224.1:34922 - "GET /latest/listen/45354 HTTP/1.0" 200 OK INFO: 192.168.224.1:34862 - "GET /latest/listen/45353 HTTP/1.0" 200 OK INFO: 192.168.224.1:38900 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T20%3A01%3A11.312722&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:39008 - "GET /latest/nodes?timeout__lt=2025-02-24T20%3A01%3A13.046665&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:39018 - "GET /latest/nodes?timeout__lt=2025-02-24T20%3A01%3A13.046665&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:39020 - "GET /latest/nodes?timeout__lt=2025-02-24T20%3A01%3A13.046665&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:39030 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:39034 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:58074 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:58090 - "GET /latest/viewer?node_id=67b6051b07a05f85dfbbf546 HTTP/1.0" 200 OK INFO: 192.168.224.1:58092 - "GET /latest/node/67b6051b07a05f85dfbbf546 HTTP/1.0" 200 OK INFO: 192.168.224.1:54994 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:34862 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:34872 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.224.1:34880 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.224.1:34884 - "GET /latest/viewer?node_id=66d088112a93a71e24dd11fa HTTP/1.0" 200 OK INFO: 192.168.224.1:34894 - "GET /latest/viewer?node_id=67b6051b07a05f85dfbbf45b HTTP/1.0" 200 OK INFO: 192.168.224.1:49194 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:49196 - "GET /latest/node/66d088112a93a71e24dd11fa HTTP/1.0" 200 OK INFO: 192.168.224.1:49206 - "GET /latest/nodes?parent=67b5441a532ea6887f906459&limit=250 HTTP/1.0" 200 OK INFO: 192.168.224.1:38964 - "GET /latest/listen/45362 HTTP/1.0" 200 OK INFO: 192.168.224.1:38926 - "GET /latest/listen/45360 HTTP/1.0" 200 OK INFO: 192.168.224.1:38992 - "GET /latest/listen/45359 HTTP/1.0" 200 OK INFO: 192.168.224.1:38950 - "GET /latest/listen/45358 HTTP/1.0" 200 OK INFO: 192.168.224.1:38936 - "GET /latest/listen/45357 HTTP/1.0" 200 OK INFO: 192.168.224.1:38912 - "GET /latest/listen/45356 HTTP/1.0" 200 OK INFO: 192.168.224.1:38978 - "GET /latest/listen/45355 HTTP/1.0" 200 OK INFO: 192.168.224.1:38956 - "GET /latest/listen/45354 HTTP/1.0" 200 OK INFO: 192.168.224.1:38916 - "GET /latest/listen/45353 HTTP/1.0" 200 OK INFO: 192.168.224.1:43684 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.224.1:43700 - "POST /latest/unsubscribe/45354 HTTP/1.0" 200 OK Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Exception: Connection closed by server. INFO: 192.168.224.1:43714 - "POST /latest/unsubscribe/45360 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.224.1:43726 - "POST /latest/unsubscribe/45357 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.224.1:43738 - "POST /latest/unsubscribe/45359 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.224.1:43742 - "POST /latest/unsubscribe/45356 HTTP/1.0" 200 OK Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Exception: Connection closed by server. INFO: 192.168.224.1:43756 - "POST /latest/unsubscribe/45353 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.224.1:43768 - "POST /latest/unsubscribe/45361 HTTP/1.0" 200 OK Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. INFO: 192.168.224.1:43798 - "POST /latest/unsubscribe/45362 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.224.1:43780 - "POST /latest/unsubscribe/45358 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.224.1:43794 - "POST /latest/unsubscribe/45355 HTTP/1.0" 200 OK Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 62, in wrapped_app raise exc File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 51, in wrapped_app await app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app response = await f(request) ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/main.py", line 954, in listen return await pubsub.listen(sub_id, user.username) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/api/pubsub.py", line 138, in listen msg = await sub['redis_sub'].get_message( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 1032, in get_message response = await self.parse_response(block=(timeout is None), timeout=timeout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 905, in parse_response response = await self._execute( ^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 885, in _execute return await conn.retry.call_with_retry( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 62, in call_with_retry await fail(error) File "/usr/local/lib/python3.11/site-packages/redis/asyncio/client.py", line 874, in _disconnect_raise_connect raise error File "/usr/local/lib/python3.11/site-packages/redis/asyncio/retry.py", line 59, in call_with_retry return await do() ^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/asyncio/connection.py", line 502, in read_response response = await self._parser.read_response( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 82, in read_response response = await self._read_response(disable_decoding=disable_decoding) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/resp2.py", line 90, in _read_response raw = await self._readline() ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/redis/_parsers/base.py", line 221, in _readline raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) redis.exceptions.ConnectionError: Connection closed by server. INFO: Shutting down INFO: Waiting for application shutdown. INFO: Application shutdown complete. INFO: Finished server process [8] INFO: Stopping reloader process [1]