class_docstr: Runs the function with time limit.
  
  Args:
      f: Function to call.
      timeout_seconds: Maximum time limit.
  Returns:
      A tuple containing (response, duration, timed_out as boolean).
docstr: Synchronously blocks until execution is complete.
  
  Raises:
      NotImplementedError: Raised when executor did not implement this.
docstr_tok: ["Synchronously","blocks","until","execution","is","complete",".","Raises",":","NotImplementedError",":","Raised","when","executor","did","not","implement","this","."]
code: def join(self):
      """Synchronously blocks until execution is complete.
  
      Raises:
          NotImplementedError: Raised when executor did not implement this.
      """
      raise NotImplementedError()
  
file_path: interpret/python/powerlift/src/powerlift/executors/base.py
imports: from numbers import Number
  import time
  from types import FunctionType
  from typing import Any, Iterable, Tuple
  from stopit import ThreadingTimeout
label_desc: Use image node_id 2 for calling the Executor obj's underlying member method code with example usage: obj.join() without return types