From 0cb941052557db55e91e5bed86a1aa60b2cd2140 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Thu, 24 Jul 2008 11:32:46 +0000 Subject: [PATCH] Add directory for archived jobs Reviewed-by: iustinp --- lib/constants.py | 1 + lib/jqueue.py | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/constants.py b/lib/constants.py index 61b9e5bf3..e85bd4868 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -253,6 +253,7 @@ JOB_QUEUE_VERSION = 1 JOB_QUEUE_LOCK_FILE = QUEUE_DIR + "/lock" JOB_QUEUE_VERSION_FILE = QUEUE_DIR + "/version" JOB_QUEUE_SERIAL_FILE = QUEUE_DIR + "/serial" +JOB_QUEUE_ARCHIVE_DIR = QUEUE_DIR + "/archive" JOB_ID_TEMPLATE = r"\d+" diff --git a/lib/jqueue.py b/lib/jqueue.py index eb4ebde84..ed81ff784 100644 --- a/lib/jqueue.py +++ b/lib/jqueue.py @@ -303,12 +303,13 @@ class DiskJobStorage(JobStorageBase): self._memcache = {} self._my_hostname = utils.HostInfo().name - # Make sure our directory exists - try: - os.mkdir(constants.QUEUE_DIR, 0700) - except OSError, err: - if err.errno not in (errno.EEXIST, ): - raise + # Make sure our directories exists + for path in (constants.QUEUE_DIR, constants.JOB_QUEUE_ARCHIVE_DIR): + try: + os.mkdir(path, 0700) + except OSError, err: + if err.errno not in (errno.EEXIST, ): + raise # Get queue lock self.lock_fd = open(constants.JOB_QUEUE_LOCK_FILE, "w") @@ -419,6 +420,9 @@ class DiskJobStorage(JobStorageBase): def _GetJobPath(self, job_id): return os.path.join(constants.QUEUE_DIR, "job-%s" % job_id) + def _GetArchivedJobPath(self, job_id): + return os.path.join(constants.JOB_QUEUE_ARCHIVE_DIR, "job-%s" % job_id) + def _GetJobIDsUnlocked(self, archived=False): """Return all known job IDs. -- GitLab