docstr: Start a job with job configuration and track it
  
  :param eid: Experiment ID
  :type eid: int
  :param rid: Resource ID
  :type rid: int
  :param job_config: Configuration for :class:`aup.EE.Job.Job`
  :type job_config: BasicConfig
  :return: Job ID (jid)
  :rtype: int
docstr_tok: ["Start","a","job","with","job","configuration","and","track","it",":","param","eid",":","Experiment","ID",":","type","eid",":","int",":","param","rid",":","Resource","ID",":","type","rid",":","int",":","param","job_config",":","Configuration","for",":","class",":","`","aup.EE.Job.Job","`",":","type","job_config",":","BasicConfig",":","return",":","Job","ID","(","jid",")",":","rtype",":","int"]
code: def start_job(self, eid, rid, job_config):
      """
      Start a job with job configuration and track it
  
      :param eid: Experiment ID
      :type eid: int
      :param rid: Resource ID
      :type rid: int
      :param job_config: Configuration for :class:`aup.EE.Job.Job`
      :type job_config: BasicConfig
      :return: Job ID (jid)
      :rtype: int
      """
      raise NotImplementedError
  
imports: import abc
  import logging
label_desc: Use image node_id 14 for calling the AbstractConnector obj's underlying member method code with example usage: obj.start_job(eid, rid, job_config) without return types