docstr: Starts a job attempt for a given job, using the given resource
  
  :param rid: Resource ID
  :type rid: int
  :param jid: Job ID
  :type jid: int
  :return: Job Attempt ID (jaid)
  :rtype: int
docstr_tok: ["Starts","a","job","attempt","for","a","given","job",",","using","the","given","resource",":","param","rid",":","Resource","ID",":","type","rid",":","int",":","param","jid",":","Job","ID",":","type","jid",":","int",":","return",":","Job","Attempt","ID","(","jaid",")",":","rtype",":","int"]
code: def start_job_attempt(self, rid, jid):
      """
      Starts a job attempt for a given job, using the given resource
  
      :param rid: Resource ID
      :type rid: int
      :param jid: Job ID
      :type jid: int
      :return: Job Attempt ID (jaid)
      :rtype: int
      """
      raise NotImplementedError
  
imports: import abc
  import logging
label_desc: Use image node_id 15 for calling the AbstractConnector obj's underlying member method code with example usage: obj.start_job_attempt(rid, jid) without return types