class_docstr: Create Resource to run jobs.
  
  :param connector: Connector to database
  :type connector: AbstractConnector
docstr: Job running interface, this is called by :mod:`aup.EE.Experiment`.
  
  It is a wrapper for :func:`run`.
  
  :param job: Job to run
  :type job: Job
  :param rid: resource ID
  :type rid: int
  :param exp_config: experiment configuration
  :type exp_config: BasicConfig
  :param call_back_func: call back function to update result
  :type call_back_func: function object
docstr_tok: ["Job","running","interface",",","this","is","called","by",":","mod",":","`","aup.EE.Experiment","`",".","It","is","a","wrapper","for",":","func",":","`","run","`",".",":","param","job",":","Job","to","run",":","type","job",":","Job",":","param","rid",":","resource","ID",":","type","rid",":","int",":","param","exp_config",":","experiment","configuration",":","type","exp_config",":","BasicConfig",":","param","call_back_func",":","call","back","function","to","update","result",":","type","call_back_func",":","function","object"]
code: def run_job(self, job, rid, exp_config, call_back_func, **kwargs):
      """
      Job running interface, this is called by :mod:`aup.EE.Experiment`.
  
      It is a wrapper for :func:`run`.
  
      :param job: Job to run
      :type job: Job
      :param rid: resource ID
      :type rid: int
      :param exp_config: experiment configuration
      :type exp_config: BasicConfig
      :param call_back_func: call back function to update result
      :type call_back_func: function object
      """
      self.connector.take_available_resource(rid)
      self.jobs[job.jid] = rid
  
      if self.interm_job_res != None:
          self.interm_job_res[job.jid] = list()
          self.job_checked[job.jid] = list()
  
      try:
          self.run(job, rid, exp_config, call_back_func, **kwargs)
      except EnvironmentError as e:
          self.connector.free_used_resource(rid)
          logger.fatal("Experiment interrupted.")
          raise (e)
  
imports: import abc
  import copy
  import importlib
  import logging
  import random
  import threading
  import time
  import numpy
  import math
  import warnings
  from ...utils import DEFAULT_AUPTIMIZER_PATH
  from .utils.curve_fitting import CurveModel
label_desc: Use image node_id 5 for calling the AbstractResourceManager obj's underlying member method code with example usage: obj.run_job(job, rid, exp_config, call_back_func) without return types