code: def issueBatchJob(self, jobNode):
          
          localID = self.handleLocalJob(jobNode)
          if localID:
              return localID
          self.checkResourceRequest(jobNode.memory, jobNode.cores, jobNode.disk)
          jobID = self.getNextJobID()
          job = ToilJob(jobID=jobID,
                        name=str(jobNode),
                        resources=MesosShape(wallTime=0, **jobNode._requirements),
                        command=jobNode.command,
                        userScript=self.userScript,
                        environment=self.environment.copy(),
                        workerCleanupInfo=self.workerCleanupInfo)
          jobType = job.resources
          log.debug("Queueing the job command: %s with job id: %s ...", jobNode.command, str(jobID))
  
          # TODO: round all elements of resources
  
          self.taskResources[jobID] = job.resources
          self.jobQueues.insertJob(job, jobType)
          log.debug("... queued")
          return jobID
docs: Issues the following command returning a unique jobID. Command is the string to run, memory
          is an int giving the number of bytes the job needs to run in and cores is the number of cpus
          needed for the job and error-file is the path of the file to place any std-err/std-out in.