Add directory for archived jobs
authorMichael Hanselmann <hansmi@google.com>
Thu, 24 Jul 2008 11:32:46 +0000 (11:32 +0000)
committerMichael Hanselmann <hansmi@google.com>
Thu, 24 Jul 2008 11:32:46 +0000 (11:32 +0000)
Reviewed-by: iustinp

lib/constants.py
lib/jqueue.py

index 61b9e5b..e85bd48 100644 (file)
@@ -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+"
 
index eb4ebde..ed81ff7 100644 (file)
@@ -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.