class_docstr: A shared, distributed Lock. Using Redis for locking allows the Lock
  to be shared across processes and/or machines.
  
  It's left to the user to resolve deadlock issues and make sure
  multiple clients play nicely together.
code: def do_acquire(self, token: str) -> bool:
      if self.timeout:
          # convert to milliseconds
          timeout = int(self.timeout * 1000)
      else:
          timeout = None
      if self.redis.set(self.name, token, nx=True, px=timeout):
          return True
      return False
  
imports: import threading
  import time
  import uuid
  from types import SimpleNamespace, TracebackType
  from typing import Optional, Type
  from redis.exceptions import LockError, LockNotOwnedError
  from redis.typing import Number
label_desc: Use image node_id 6 for calling the Lock obj's underlying member method code with example usage: obj.do_acquire(token) and returns: False, True