class_docstr: A ``RequestQueue`` backed by python ``multiprocessing.Queue``
code: def get(self, size, timeout: float) -> List[TimerRequest]:
      requests = []
      wait = timeout
      for _ in range(0, size):
          start = time.time()
  
          try:
              r = self._mp_queue.get(block=True, timeout=wait)
          except Empty:
              break
  
          requests.append(r)
          wait = wait - (time.time() - start)
          if wait <= 0:
              break
  
      return requests
  
imports: import logging
  import multiprocessing
  import os
  import signal
  import time
  from queue import Empty
  from typing import Any, Dict, List, Set, Tuple
  from .api import RequestQueue, TimerClient, TimerRequest, TimerServer
label_desc: Use image node_id 3 for calling the MultiprocessingRequestQueue obj's underlying member method code with example usage: obj.get(size, timeout) and returns: requests