docs: async def _call_redis(self, meth, *args, **kwargs):
          """Perform a Redis call and handle connection dropping."""
          while True:
              try:
                  if not self._redis:
                      self._redis = await self._make_connection()
                  return await meth(self._redis, *args, **kwargs)
              except aioredis.RedisError:
                  logger.exception("Redis connection error")
                  if self._redis:
                      self._redis.close()
                      await self._redis.wait_closed()
                      self._redis = None
                  await asyncio.sleep(3)