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.160.1:45726 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:59230 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:59238 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.160.1:58762 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:33596 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:51704 - "GET /latest/viewer?node_id=67b6051b07a05f85dfbbf476 HTTP/1.0" 200 OK INFO: 192.168.160.1:51712 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:51722 - "GET /latest/node/67b6051b07a05f85dfbbf476 HTTP/1.0" 200 OK INFO: 192.168.160.1:47302 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:47314 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.160.1:49638 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:39234 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:39236 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.160.1:46856 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:46864 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:46876 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:46892 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:46908 - "GET /latest/listen/45343 HTTP/1.0" 200 OK INFO: 192.168.160.1:46920 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:46946 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:46950 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:46966 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:47004 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:47032 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:47042 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A52%3A44.035043&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:47050 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A52%3A44.035043&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:47052 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A52%3A44.035043&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:47054 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:47068 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:47088 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:47090 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:47102 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:47116 - "POST /latest/subscribe/node HTTP/1.0" 200 OK INFO: 192.168.160.1:47134 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:47144 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T19%3A52%3A44.607200&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:47150 - "POST /latest/subscribe/node?promisc=True HTTP/1.0" 200 OK INFO: 192.168.160.1:47160 - "GET /latest/nodes/fast?state=done&processed_by_kcidb_bridge=False&created__gt=2025-02-20+19%3A52%3A45.204980&limit=20 HTTP/1.0" 200 OK INFO: 192.168.160.1:47166 - "GET /latest/node/67bca64eb5a50b72fc9c95b0 HTTP/1.0" 200 OK INFO: 192.168.160.1:47182 - "GET /latest/node/67bc9aa2b5a50b72fc9c93dc HTTP/1.0" 200 OK INFO: 192.168.160.1:47190 - "GET /latest/node/67bcca15b5a50b72fc9c970a HTTP/1.0" 200 OK INFO: 192.168.160.1:57346 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:57362 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:57374 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:57390 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:57902 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:57908 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:57922 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:49184 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:49196 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.160.1:49206 - "GET /latest/viewer?search=parent%3D67b6051b07a05f85dfbbf5f5 HTTP/1.0" 200 OK INFO: 192.168.160.1:49218 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:49228 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:41710 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:41720 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:47192 - "GET /latest/listen/45352 HTTP/1.0" 200 OK INFO: 192.168.160.1:47130 - "GET /latest/listen/45351 HTTP/1.0" 200 OK INFO: 192.168.160.1:47104 - "GET /latest/listen/45350 HTTP/1.0" 200 OK INFO: 192.168.160.1:47078 - "GET /latest/listen/45348 HTTP/1.0" 200 OK INFO: 192.168.160.1:47018 - "GET /latest/listen/45347 HTTP/1.0" 200 OK INFO: 192.168.160.1:46996 - "GET /latest/listen/45346 HTTP/1.0" 200 OK INFO: 192.168.160.1:46982 - "GET /latest/listen/45345 HTTP/1.0" 200 OK INFO: 192.168.160.1:46934 - "GET /latest/listen/45344 HTTP/1.0" 200 OK INFO: 192.168.160.1:46910 - "GET /latest/listen/45343 HTTP/1.0" 200 OK INFO: 192.168.160.1:36026 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:36040 - "GET /latest/nodes?parent=66dbb1a3e2f3743f86fa958f&limit=250 HTTP/1.0" 200 OK INFO: 192.168.160.1:36046 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.160.1:59616 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:59620 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:59622 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:59626 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A53%3A44.116328&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:59630 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A53%3A44.116328&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:59634 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A53%3A44.116328&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:59638 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:59652 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T19%3A53%3A44.621781&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:36482 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:34730 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:59112 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:59120 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:59124 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.160.1:35964 - "GET /latest/listen/45352 HTTP/1.0" 200 OK INFO: 192.168.160.1:35986 - "GET /latest/listen/45351 HTTP/1.0" 200 OK INFO: 192.168.160.1:35992 - "GET /latest/listen/45350 HTTP/1.0" 200 OK INFO: 192.168.160.1:35970 - "GET /latest/listen/45348 HTTP/1.0" 200 OK INFO: 192.168.160.1:35980 - "GET /latest/listen/45347 HTTP/1.0" 200 OK INFO: 192.168.160.1:36012 - "GET /latest/listen/45346 HTTP/1.0" 200 OK INFO: 192.168.160.1:36008 - "GET /latest/listen/45345 HTTP/1.0" 200 OK INFO: 192.168.160.1:36020 - "GET /latest/listen/45344 HTTP/1.0" 200 OK INFO: 192.168.160.1:36000 - "GET /latest/listen/45343 HTTP/1.0" 200 OK INFO: 192.168.160.1:59208 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:46004 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:46012 - "GET /latest/viewer?node_id=67b6051b07a05f85dfbbf454 HTTP/1.0" 200 OK INFO: 192.168.160.1:46028 - "GET /latest/node/67b6051b07a05f85dfbbf454 HTTP/1.0" 200 OK INFO: 192.168.160.1:46036 - "GET /latest/nodes?parent=67b6051b07a05f85dfbbf5f5&limit=250 HTTP/1.0" 200 OK INFO: 192.168.160.1:50496 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:50498 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.160.1:43532 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:43542 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:43546 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A54%3A44.201557&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:43554 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A54%3A44.201557&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:43556 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A54%3A44.201557&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:43560 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:43576 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T19%3A54%3A44.654149&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:54750 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:59184 - "GET /latest/listen/45352 HTTP/1.0" 200 OK INFO: 192.168.160.1:59146 - "GET /latest/listen/45351 HTTP/1.0" 200 OK INFO: 192.168.160.1:59156 - "GET /latest/listen/45350 HTTP/1.0" 200 OK INFO: 192.168.160.1:59138 - "GET /latest/listen/45348 HTTP/1.0" 200 OK INFO: 192.168.160.1:59136 - "GET /latest/listen/45347 HTTP/1.0" 200 OK INFO: 192.168.160.1:59162 - "GET /latest/listen/45346 HTTP/1.0" 200 OK INFO: 192.168.160.1:59168 - "GET /latest/listen/45345 HTTP/1.0" 200 OK INFO: 192.168.160.1:59202 - "GET /latest/listen/45344 HTTP/1.0" 200 OK INFO: 192.168.160.1:59198 - "GET /latest/listen/45343 HTTP/1.0" 200 OK INFO: 192.168.160.1:48070 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:48072 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:48076 - "GET /latest/viewer?node_id=67b6051b07a05f85dfbbf400 HTTP/1.0" 200 OK INFO: 192.168.160.1:48086 - "GET /latest/viewer?node_id=666feafa5deaef270d4d098d HTTP/1.0" 200 OK INFO: 192.168.160.1:47414 - "GET /latest/node/666feafa5deaef270d4d098d HTTP/1.0" 200 OK INFO: 192.168.160.1:47426 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:47436 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.160.1:47442 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:53942 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:37918 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:46628 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.160.1:46640 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:46650 - "GET /latest/nodes?state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:48046 - "GET /latest/listen/45352 HTTP/1.0" 200 OK INFO: 192.168.160.1:48038 - "GET /latest/listen/45351 HTTP/1.0" 200 OK INFO: 192.168.160.1:48026 - "GET /latest/listen/45350 HTTP/1.0" 200 OK INFO: 192.168.160.1:48006 - "GET /latest/listen/45348 HTTP/1.0" 200 OK INFO: 192.168.160.1:48022 - "GET /latest/listen/45347 HTTP/1.0" 200 OK INFO: 192.168.160.1:48066 - "GET /latest/listen/45346 HTTP/1.0" 200 OK INFO: 192.168.160.1:48014 - "GET /latest/listen/45345 HTTP/1.0" 200 OK INFO: 192.168.160.1:48056 - "GET /latest/listen/45344 HTTP/1.0" 200 OK INFO: 192.168.160.1:48044 - "GET /latest/listen/45343 HTTP/1.0" 200 OK INFO: 192.168.160.1:46770 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A55%3A44.241206&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:46772 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A55%3A44.241206&state=available&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:46778 - "GET /latest/nodes?timeout__lt=2025-02-24T19%3A55%3A44.241206&state=closing&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:46786 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:46790 - "GET /latest/nodes?state=available&holdoff__lt=2025-02-24T19%3A55%3A44.676163&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:37700 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:44020 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:44028 - "GET /latest/viewer?search=parent%3D66db44cf0ea8cf2cf2b81bf6 HTTP/1.0" 200 OK INFO: 192.168.160.1:55816 - "GET /latest/whoami HTTP/1.0" 200 OK INFO: 192.168.160.1:55832 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:55842 - "GET /latest/metrics HTTP/1.0" 200 OK INFO: 192.168.160.1:55850 - "GET /latest/nodes?parent=66db44cf0ea8cf2cf2b81bf6&limit=250 HTTP/1.0" 200 OK INFO: 192.168.160.1:55854 - "GET /latest/nodes?name=patchset&state=running&limit=100&offset=0 HTTP/1.0" 200 OK INFO: 192.168.160.1:44360 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:46696 - "GET /latest/listen/45352 HTTP/1.0" 200 OK INFO: 192.168.160.1:46682 - "GET /latest/listen/45351 HTTP/1.0" 200 OK INFO: 192.168.160.1:46758 - "GET /latest/listen/45350 HTTP/1.0" 200 OK INFO: 192.168.160.1:46666 - "GET /latest/listen/45348 HTTP/1.0" 200 OK INFO: 192.168.160.1:46732 - "GET /latest/listen/45347 HTTP/1.0" 200 OK INFO: 192.168.160.1:46660 - "GET /latest/listen/45346 HTTP/1.0" 200 OK INFO: 192.168.160.1:46710 - "GET /latest/listen/45345 HTTP/1.0" 200 OK INFO: 192.168.160.1:46744 - "GET /latest/listen/45344 HTTP/1.0" 200 OK INFO: 192.168.160.1:46726 - "GET /latest/listen/45343 HTTP/1.0" 200 OK INFO: 192.168.160.1:57322 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:57328 - "POST /latest/unsubscribe/45346 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.160.1:57334 - "POST /latest/unsubscribe/45343 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.160.1:57348 - "POST /latest/unsubscribe/45345 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.160.1:57352 - "POST /latest/unsubscribe/45347 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. Exception: Connection closed by server. INFO: 192.168.160.1:57364 - "POST /latest/unsubscribe/45350 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.160.1:57368 - "POST /latest/unsubscribe/45351 HTTP/1.0" 200 OK Exception: Connection closed by server. INFO: 192.168.160.1:57370 - "POST /latest/unsubscribe/45344 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. Exception: Connection closed by server. INFO: 192.168.160.1:57372 - "POST /latest/unsubscribe/45349 HTTP/1.0" 200 OK INFO: 192.168.160.1:51636 - "POST /latest/unsubscribe/45348 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. Exception: Connection closed by server. INFO: 192.168.160.1:51638 - "POST /latest/unsubscribe/45352 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. Exception: Connection closed by server. INFO: 192.168.160.1:51640 - "GET /latest/ HTTP/1.0" 200 OK INFO: 192.168.160.1:51648 - "GET /latest/viewer HTTP/1.0" 200 OK INFO: 192.168.160.1:51654 - "GET /latest/viewer?search=parent%3D67b6051b07a05f85dfbbf45f HTTP/1.0" 200 OK INFO: 192.168.160.1:51668 - "GET /latest/nodes?parent=67b6051b07a05f85dfbbf45f&limit=250 HTTP/1.0" 200 OK INFO: Shutting down INFO: Waiting for application shutdown. INFO: Application shutdown complete. INFO: Finished server process [8] INFO: Stopping reloader process [1]