def issueBatchJob(self, jobNode):
        """Adds the command and resources to a queue to be run."""
        # Round cores to minCores and apply scale
        cores = math.ceil(jobNode.cores * self.scale / self.minCores) * self.minCores
        assert cores <= self.maxCores, ('The job {} is requesting {} cores, more than the maximum of '
                                        '{} cores this batch system was configured with. Scale is '
                                        'set to {}.'.format(jobNode.jobName, cores, self.maxCores, self.scale))
        assert cores >= self.minCores
        assert jobNode.memory <= self.maxMemory, ('The job {} is requesting {} bytes of memory, more than '
                                          'the maximum of {} this batch system was configured '
                                          'with.'.format(jobNode.jobName, jobNode.memory, self.maxMemory))

        self.checkResourceRequest(jobNode.memory, cores, jobNode.disk)
        log.debug("Issuing the command: %s with memory: %i, cores: %i, disk: %i" % (
            jobNode.command, jobNode.memory, cores, jobNode.disk))
        with self.jobIndexLock:
            jobID = self.jobIndex
            self.jobIndex += 1
        self.jobs[jobID] = jobNode.command
        self.inputQueue.put((jobNode.command, jobID, cores, jobNode.memory,
                             jobNode.disk, self.environment.copy()))
        if self.debugWorker:  # then run immediately, blocking for return
            self.worker(self.inputQueue)
        return jobID
def issueBatchJob ( self , jobNode ) : cores = math . ceil ( jobNode . cores * self . scale / self . minCores ) * self . minCores assert cores <= self . maxCores , ( 'The job {} is requesting {} cores, more than the maximum of ' '{} cores this batch system was configured with. Scale is ' 'set to {}.' . format ( jobNode . jobName , cores , self . maxCores , self . scale ) ) assert cores >= self . minCores assert jobNode . memory <= self . maxMemory , ( 'The job {} is requesting {} bytes of memory, more than ' 'the maximum of {} this batch system was configured ' 'with.' . format ( jobNode . jobName , jobNode . memory , self . maxMemory ) ) self . checkResourceRequest ( jobNode . memory , cores , jobNode . disk ) log . debug ( "Issuing the command: %s with memory: %i, cores: %i, disk: %i" % ( jobNode . command , jobNode . memory , cores , jobNode . disk ) ) with self . jobIndexLock : jobID = self . jobIndex self . jobIndex += 1 self . jobs [ jobID ] = jobNode . command self . inputQueue . put ( ( jobNode . command , jobID , cores , jobNode . memory , jobNode . disk , self . environment . copy ( ) ) ) if self . debugWorker : self . worker ( self . inputQueue ) return jobID
Adds the command and resources to a queue to be run.