Beispiel #1
0
    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)
Beispiel #2
0
 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
Beispiel #3
0
 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