async def _start(self, key: Text) -> None:
for _ in range(<NUM_LIT:0>, <NUM_LIT:1000>):<EOL><INDENT>with await self.pool as r:<EOL><INDENT>just_set = await r.set(<EOL>self.lock_key(key),<EOL>'<STR_LIT>',<EOL>expire=settings.REGISTER_LOCK_TIME,<EOL>exist=r.SET_IF_NOT_EXIST,<EOL>)<EOL>if just_set:<EOL><INDENT>break<EOL><DEDENT><DEDENT>await asyncio.sleep(settings.REDIS_POLL_INTERVAL)<EOL><DEDENT>
Start the lock.

Here we use a SETNX-based algorithm. It's quite shitty, change it.