def testJob(self): """ Tests functions of a job. """ command = "by your command" memory = 2 ^ 32 disk = 2 ^ 32 cores = 1 preemptable = 1 jobStoreID = 100 remainingRetryCount = 5 predecessorNumber = 0 j = JobWrapper(command, memory, cores, disk, preemptable, jobStoreID, remainingRetryCount, predecessorNumber) #Check attributes # self.assertEquals(j.command, command) self.assertEquals(j.memory, memory) self.assertEquals(j.disk, disk) self.assertEquals(j.cores, cores) self.assertEquals(j.preemptable, preemptable) self.assertEquals(j.jobStoreID, jobStoreID) self.assertEquals(j.remainingRetryCount, remainingRetryCount) self.assertEquals(j.predecessorNumber, predecessorNumber) self.assertEquals(j.stack, []) self.assertEquals(j.predecessorsFinished, set()) self.assertEquals(j.logJobStoreFileID, None) #Check equals function j2 = JobWrapper(command, memory, cores, disk, preemptable, jobStoreID, remainingRetryCount, predecessorNumber) self.assertEquals(j, j2) #Change an attribute and check not equal j.predecessorsFinished = {"1", "2"} self.assertNotEquals(j, j2)
def create(self, command, memory, cores, disk, predecessorNumber=0): #The absolute path to the job directory. absJobDir = tempfile.mkdtemp(prefix="job", dir=self._getTempSharedDir()) #Sub directory to put temporary files associated with the job in os.mkdir(os.path.join(absJobDir, "g")) #Make the job job = JobWrapper(command=command, memory=memory, cores=cores, disk=disk, jobStoreID=self._getRelativePath(absJobDir), remainingRetryCount=self._defaultTryCount( ), predecessorNumber=predecessorNumber) #Write job file to disk self.update(job) return job
def create(self, command, memory, cores, disk, preemptable, predecessorNumber=0): jobStoreID = self._newID() job = JobWrapper(jobStoreID=jobStoreID, command=command, memory=memory, cores=cores, disk=disk, remainingRetryCount=self._defaultTryCount(), logJobStoreFileID=None, preemptable=preemptable, predecessorNumber=predecessorNumber) self._writeString(jobStoreID, cPickle.dumps(job)) return job