class_docstr: Create Resource to run jobs.
  
  :param connector: Connector to database
  :type connector: AbstractConnector
code: def run_curve_fitting(
      self,
      interm_res,
      c_jid,
      step,
      comp_fn,
      curve_fitting_threshold,
      best_val,
  ):
      curvemodel = CurveModel(self.curve_fitting_max_iters)
      predict_y = curvemodel.predict(
          interm_res, timeout=self.curve_fitting_timeout
      )
      if predict_y is None:
          return
      if not comp_fn(predict_y, curve_fitting_threshold * best_val):
          if self.is_job_stopped(c_jid):
              return
          self.stop_job(c_jid)
          logger.info(
              "Stopping job {} early (step {}): predicted end value {:.4f} is lower than the best value so far {:.4f} within the given {:.2f}% threshold (={:.4f})".format(
                  c_jid,
                  step,
                  predict_y,
                  best_val,
                  100.0 * curve_fitting_threshold,
                  curve_fitting_threshold * best_val,
              )
          )
  
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 13 for calling the AbstractResourceManager obj's underlying member method code with example usage: obj.run_curve_fitting(interm_res, c_jid, step, comp_fn, curve_fitting_threshold, best_val) without return types