code: def join(self, timeout: Union[float, datetime.timedelta] = None) -> Awaitable[None]:
          
          return self._finished.wait(timeout)
docs: Block until all items in the queue are processed.
  
          Returns an awaitable, which raises `tornado.util.TimeoutError` after a
          timeout.