When starting the API with an invalid Redis DB it'll go in an infinite loop. The Redis DB is a hard requirement and thus the API should stop when encountering this error.
2023-07-09 17:55:07 | ℹ️ | logging.py:87 | Waiting for application startup.
2023-07-09 17:55:07 | ❌ | logging.py:87 | Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 677, in lifespan
async with self.lifespan_context(app) as maybe_state:
File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 566, in __aenter__
await self._router.startup()
File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 654, in startup
await handler()
File "/code/./app/main.py", line 96, in on_startup
await redis_plugin.init()
File "/usr/local/lib/python3.9/site-packages/fastapi_plugins/_redis.py", line 197, in init
await self.ping()
File "/usr/local/lib/python3.9/site-packages/fastapi_plugins/_redis.py", line 217, in ping
return await self.redis.ping()
File "/usr/local/lib/python3.9/site-packages/redis/asyncio/client.py", line 526, in execute_command
conn = self.connection or await pool.get_connection(command_name, **options)
File "/usr/local/lib/python3.9/site-packages/redis/asyncio/connection.py", line 1404, in get_connection
await connection.connect()
File "/usr/local/lib/python3.9/site-packages/redis/asyncio/connection.py", line 622, in connect
await self.on_connect()
File "/usr/local/lib/python3.9/site-packages/redis/asyncio/connection.py", line 724, in on_connect
if str_if_bytes(await self.read_response()) != "OK":
File "/usr/local/lib/python3.9/site-packages/redis/asyncio/connection.py", line 868, in read_response
raise response from None
redis.exceptions.ResponseError: DB index is out of range
2023-07-09 17:55:07 | ❌ | logging.py:87 | Application startup failed. Exiting.
When starting the API with an invalid Redis DB it'll go in an infinite loop. The Redis DB is a hard requirement and thus the API should stop when encountering this error.