INFO: Will watch for changes in these directories: ['/Users/egg/Projects/PROJECT CONTORL/backend'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [41994] using WatchFiles INFO: Started server process [42024] INFO: Waiting for application startup. INFO: Application startup complete. INFO: 127.0.0.1:61723 - "GET /health HTTP/1.1" 200 OK INFO: 127.0.0.1:61733 - "POST /api/auth/login HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application + Exception Group Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups | yield | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 190, in __call__ | async with anyio.create_task_group() as task_group: | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi | result = await app( # type: ignore[func-returns-value] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ | return await self.app(scope, receive, send) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ | await self.app(scope, receive, _send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ | with collapse_excgroups(): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ | response = await self.dispatch_func(request, call_next) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch | response = await call_next(request) | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next | raise app_exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ | await self.simple_response(scope, receive, send, request_headers=headers) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app | await route.handle(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app | response = await func(request) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app | raise e | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app | raw_response = await run_endpoint_function( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function | return await dependant.call(**values) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper | self._check_request_limit(request, func, False) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit | self.__evaluate_limits(request, _endpoint_key, all_limits) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits | if not self.limiter.hit(lim.limit, *args, cost=cost): | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit | self.storage.incr( | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner | return fn(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr | return int(self.lua_incr_expire([key], [expiry, amount])) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ | return client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha | return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha | return self.execute_command(command, sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command | return self._execute_command(*args, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command | conn = self.connection or pool.get_connection() | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper | return func(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection | connection.connect() | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect | self.connect_check_health(check_health=True) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health | raise ConnectionError(self._error_message(e)) | redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. +------------------------------------ During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ with collapse_excgroups(): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ response = await self.dispatch_func(request, call_next) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next raise app_exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app await route.handle(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app raise e File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper self._check_request_limit(request, func, False) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit self.__evaluate_limits(request, _endpoint_key, all_limits) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits if not self.limiter.hit(lim.limit, *args, cost=cost): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit self.storage.incr( File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr return int(self.lua_incr_expire([key], [expiry, amount])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ return client.evalsha(self.sha, len(keys), *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha return self.execute_command(command, sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command return self._execute_command(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command conn = self.connection or pool.get_connection() ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection connection.connect() File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect self.connect_check_health(check_health=True) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health raise ConnectionError(self._error_message(e)) redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. INFO: 127.0.0.1:61737 - "POST /api/auth/login HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application + Exception Group Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups | yield | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 190, in __call__ | async with anyio.create_task_group() as task_group: | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi | result = await app( # type: ignore[func-returns-value] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ | return await self.app(scope, receive, send) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ | await self.app(scope, receive, _send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ | with collapse_excgroups(): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ | response = await self.dispatch_func(request, call_next) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch | response = await call_next(request) | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next | raise app_exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ | await self.simple_response(scope, receive, send, request_headers=headers) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app | await route.handle(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app | response = await func(request) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app | raise e | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app | raw_response = await run_endpoint_function( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function | return await dependant.call(**values) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper | self._check_request_limit(request, func, False) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit | self.__evaluate_limits(request, _endpoint_key, all_limits) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits | if not self.limiter.hit(lim.limit, *args, cost=cost): | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit | self.storage.incr( | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner | return fn(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr | return int(self.lua_incr_expire([key], [expiry, amount])) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ | return client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha | return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha | return self.execute_command(command, sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command | return self._execute_command(*args, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command | conn = self.connection or pool.get_connection() | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper | return func(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection | connection.connect() | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect | self.connect_check_health(check_health=True) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health | raise ConnectionError(self._error_message(e)) | redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. +------------------------------------ During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ with collapse_excgroups(): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ response = await self.dispatch_func(request, call_next) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next raise app_exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app await route.handle(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app raise e File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper self._check_request_limit(request, func, False) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit self.__evaluate_limits(request, _endpoint_key, all_limits) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits if not self.limiter.hit(lim.limit, *args, cost=cost): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit self.storage.incr( File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr return int(self.lua_incr_expire([key], [expiry, amount])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ return client.evalsha(self.sha, len(keys), *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha return self.execute_command(command, sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command return self._execute_command(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command conn = self.connection or pool.get_connection() ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection connection.connect() File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect self.connect_check_health(check_health=True) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health raise ConnectionError(self._error_message(e)) redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. INFO: 127.0.0.1:61759 - "POST /api/auth/login HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application + Exception Group Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups | yield | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 190, in __call__ | async with anyio.create_task_group() as task_group: | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi | result = await app( # type: ignore[func-returns-value] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ | return await self.app(scope, receive, send) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ | await self.app(scope, receive, _send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ | with collapse_excgroups(): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ | response = await self.dispatch_func(request, call_next) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch | response = await call_next(request) | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next | raise app_exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ | await self.simple_response(scope, receive, send, request_headers=headers) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app | await route.handle(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app | response = await func(request) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app | raise e | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app | raw_response = await run_endpoint_function( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function | return await dependant.call(**values) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper | self._check_request_limit(request, func, False) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit | self.__evaluate_limits(request, _endpoint_key, all_limits) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits | if not self.limiter.hit(lim.limit, *args, cost=cost): | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit | self.storage.incr( | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner | return fn(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr | return int(self.lua_incr_expire([key], [expiry, amount])) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ | return client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha | return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha | return self.execute_command(command, sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command | return self._execute_command(*args, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command | conn = self.connection or pool.get_connection() | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper | return func(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection | connection.connect() | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect | self.connect_check_health(check_health=True) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health | raise ConnectionError(self._error_message(e)) | redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. +------------------------------------ During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ with collapse_excgroups(): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ response = await self.dispatch_func(request, call_next) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next raise app_exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app await route.handle(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app raise e File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper self._check_request_limit(request, func, False) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit self.__evaluate_limits(request, _endpoint_key, all_limits) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits if not self.limiter.hit(lim.limit, *args, cost=cost): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit self.storage.incr( File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr return int(self.lua_incr_expire([key], [expiry, amount])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ return client.evalsha(self.sha, len(keys), *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha return self.execute_command(command, sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command return self._execute_command(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command conn = self.connection or pool.get_connection() ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection connection.connect() File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect self.connect_check_health(check_health=True) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health raise ConnectionError(self._error_message(e)) redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. INFO: 127.0.0.1:61763 - "POST /api/auth/login HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application + Exception Group Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups | yield | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 190, in __call__ | async with anyio.create_task_group() as task_group: | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi | result = await app( # type: ignore[func-returns-value] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ | return await self.app(scope, receive, send) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ | await super().__call__(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ | await self.app(scope, receive, _send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ | with collapse_excgroups(): | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ | self.gen.throw(typ, value, traceback) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ | response = await self.dispatch_func(request, call_next) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch | response = await call_next(request) | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next | raise app_exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro | await self.app(scope, receive_or_disconnect, send_no_error) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ | await self.simple_response(scope, receive, send, request_headers=headers) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ | await self.middleware_stack(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app | await route.handle(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle | await self.app(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app | await wrap_app_handling_exceptions(app, request)(scope, receive, send) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app | raise exc | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app | await app(scope, receive, sender) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app | response = await func(request) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app | raise e | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app | raw_response = await run_endpoint_function( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function | return await dependant.call(**values) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper | self._check_request_limit(request, func, False) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit | self.__evaluate_limits(request, _endpoint_key, all_limits) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits | if not self.limiter.hit(lim.limit, *args, cost=cost): | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit | self.storage.incr( | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner | return fn(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr | return int(self.lua_incr_expire([key], [expiry, amount])) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ | return client.evalsha(self.sha, len(keys), *args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha | return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha | return self.execute_command(command, sha, numkeys, *keys_and_args) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command | return self._execute_command(*args, **options) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command | conn = self.connection or pool.get_connection() | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper | return func(*args, **kwargs) | ^^^^^^^^^^^^^^^^^^^^^ | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection | connection.connect() | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect | self.connect_check_health(check_health=True) | File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health | raise ConnectionError(self._error_message(e)) | redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. +------------------------------------ During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 419, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__ await super().__call__(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 189, in __call__ with collapse_excgroups(): File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/contextlib.py", line 158, in __exit__ self.gen.throw(typ, value, traceback) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_utils.py", line 91, in collapse_excgroups raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__ response = await self.dispatch_func(request, call_next) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/Projects/PROJECT CONTORL/backend/app/middleware/audit.py", line 18, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 165, in call_next raise app_exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/base.py", line 151, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/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 "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 762, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 782, in app await route.handle(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle await self.app(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 77, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app raise exc File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app await app(scope, receive, sender) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/starlette/routing.py", line 72, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 299, in app raise e File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 294, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function return await dependant.call(**values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 732, in async_wrapper self._check_request_limit(request, func, False) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 630, in _check_request_limit self.__evaluate_limits(request, _endpoint_key, all_limits) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/slowapi/extension.py", line 509, in __evaluate_limits if not self.limiter.hit(lim.limit, *args, cost=cost): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/strategies.py", line 157, in hit self.storage.incr( File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/base.py", line 25, in inner return fn(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/limits/storage/redis.py", line 224, in incr return int(self.lua_incr_expire([key], [expiry, amount])) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 5948, in __call__ return client.evalsha(self.sha, len(keys), *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6165, in evalsha return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/commands/core.py", line 6149, in _evalsha return self.execute_command(command, sha, numkeys, *keys_and_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 657, in execute_command return self._execute_command(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/client.py", line 663, in _execute_command conn = self.connection or pool.get_connection() ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/utils.py", line 196, in wrapper return func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 2603, in get_connection connection.connect() File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 846, in connect self.connect_check_health(check_health=True) File "/Users/egg/miniconda3/envs/pjctrl/lib/python3.11/site-packages/redis/connection.py", line 863, in connect_check_health raise ConnectionError(self._error_message(e)) redis.exceptions.ConnectionError: Error 61 connecting to localhost:6379. Connection refused. INFO: Shutting down INFO: Waiting for application shutdown. INFO: Application shutdown complete. INFO: Finished server process [42024] INFO: Stopping reloader process [41994]