class_docstr: Customized worker pool
class_docstr_tok: ["Customized","worker","pool"]
docstr: Get result from result queue
docstr_tok: ["Get","result","from","result","queue"]
code: def get_result(self, dataloader_name, timeout=1800):
      """Get result from result queue"""
      if dataloader_name not in self.results:
          raise DGLError(
              f"Got result from an unknown dataloader {dataloader_name}."
          )
      while len(self.results[dataloader_name]) == 0:
          dl_name, data = self.result_queue.get(timeout=timeout)
          self.results[dl_name].append(data)
      return self.results[dataloader_name].pop(0)
  
imports: import atexit
  import gc
  import multiprocessing
  import os
  import queue
  import sys
  import time
  import traceback
  from enum import Enum
  from ..None import utils
  from ..base import dgl_warning, DGLError
  from .None import rpc
  from .constants import MAX_QUEUE_SIZE
  from .kvstore import close_kvstore, init_kvstore
  from .role import init_role
  from .rpc_client import connect_to_server
label_desc: Use image node_id 5 for calling the CustomPool obj's underlying member method code with example usage: obj.get_result(dataloader_name, timeout) and returns: self