diff options
Diffstat (limited to 'deprecated/automation/common/job_group.py')
-rw-r--r-- | deprecated/automation/common/job_group.py | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/deprecated/automation/common/job_group.py b/deprecated/automation/common/job_group.py deleted file mode 100644 index 96912fc1..00000000 --- a/deprecated/automation/common/job_group.py +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2010 Google Inc. All Rights Reserved. -# - -import getpass -import os - -from automation.common.state_machine import BasicStateMachine - -STATUS_NOT_EXECUTED = 'NOT_EXECUTED' -STATUS_EXECUTING = 'EXECUTING' -STATUS_SUCCEEDED = 'SUCCEEDED' -STATUS_FAILED = 'FAILED' - - -class JobGroupStateMachine(BasicStateMachine): - state_machine = { - STATUS_NOT_EXECUTED: [STATUS_EXECUTING], - STATUS_EXECUTING: [STATUS_SUCCEEDED, STATUS_FAILED] - } - - final_states = [STATUS_SUCCEEDED, STATUS_FAILED] - - -class JobGroup(object): - HOMEDIR_PREFIX = os.path.join('/home', getpass.getuser(), 'www', 'automation') - - def __init__(self, - label, - jobs=None, - cleanup_on_completion=True, - cleanup_on_failure=False, - description=''): - self._state = JobGroupStateMachine(STATUS_NOT_EXECUTED) - self.id = 0 - self.label = label - self.jobs = [] - self.cleanup_on_completion = cleanup_on_completion - self.cleanup_on_failure = cleanup_on_failure - self.description = description - - if jobs: - for job in jobs: - self.AddJob(job) - - def _StateGet(self): - return self._state - - def _StateSet(self, new_state): - self._state.Change(new_state) - - status = property(_StateGet, _StateSet) - - @property - def home_dir(self): - return os.path.join(self.HOMEDIR_PREFIX, 'job-group-%d' % self.id) - - @property - def time_submitted(self): - try: - return self.status.timeline[1].time_started - except IndexError: - return None - - def __repr__(self): - return '{%s: %s}' % (self.__class__.__name__, self.id) - - def __str__(self): - return '\n'.join(['Job-Group:', 'ID: %s' % self.id] + [str( - job) for job in self.jobs]) - - def AddJob(self, job): - self.jobs.append(job) - job.group = self |