code: async def _start(self, key: Text) -> None:
          
          for _ in range(0, 1000):
              with await self.pool as r:
                  just_set = await r.set(
                      self.lock_key(key),
                      '',
                      expire=settings.REGISTER_LOCK_TIME,
                      exist=r.SET_IF_NOT_EXIST,
                  )
  
                  if just_set:
                      break
  
              await asyncio.sleep(settings.REDIS_POLL_INTERVAL)
docs: Start the lock.
  
          Here we use a SETNX-based algorithm. It's quite shitty, change it.