extras-buildsys/server BuilderManager.py, 1.5, 1.6 PackageJob.py, 1.9, 1.10

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Mon Jul 18 19:07:50 UTC 2005


Author: dcbw

Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15689/server

Modified Files:
	BuilderManager.py PackageJob.py 
Log Message:
2005-07-18  Dan Williams <dcbw at redhat.com>

    * server/PackageJob.py
      server/BuilderManager.py
        - Restart orphaned archjobs immediately rather than
            sticking them at the back of the build queue




Index: BuilderManager.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/BuilderManager.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- BuilderManager.py	16 Jul 2005 15:47:43 -0000	1.5
+++ BuilderManager.py	18 Jul 2005 19:07:48 -0000	1.6
@@ -168,7 +168,7 @@
         if len(self._queue) > 0:
             time.sleep(0.25)
 
-    def request_arch_job(self, par_job, target, arch, srpm_url):
+    def request_arch_job(self, par_job, target, arch, srpm_url, orphaned):
         req = {}
         req['parent'] = par_job
         req['target'] = target
@@ -176,7 +176,11 @@
         req['srpm_url'] = srpm_url
 
         self._queue_lock.acquire()
-        self._queue.append(req)
+        if orphaned:
+            # insert orphaned requests at the front of the queue
+            self._queue.insert(0, req)
+        else:
+            self._queue.append(req)
         self._queue_lock.release()
 
     def any_prepping_builders(self):


Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- PackageJob.py	16 Jul 2005 14:57:37 -0000	1.9
+++ PackageJob.py	18 Jul 2005 19:07:48 -0000	1.10
@@ -372,7 +372,7 @@
 
         self._request_arch_jobs()
 
-    def _request_one_arch_job(self, arch):
+    def _request_one_arch_job(self, arch, orphaned):
         # Construct SPRM URL
         srpm_http_base = self.srpm_http_path[len(self.http_dir):]
         if config_opts['ssl_builders'] == True:
@@ -380,7 +380,7 @@
         else:
             method = "http://"
         srpm_url = method + self.hostname + ":8886/" + srpm_http_base
-        self.bm.builder_manager.request_arch_job(self, self.target, arch, srpm_url)
+        self.bm.builder_manager.request_arch_job(self, self.target, arch, srpm_url, orphaned)
 
     def _request_arch_jobs(self):
         # Queue requests for build jobs
@@ -388,7 +388,7 @@
         for arch in self.archjobs.keys():
             if self.archjobs[arch]:
                 continue
-            self._request_one_arch_job(arch)
+            self._request_one_arch_job(arch, False)
         self._archjobs_lock.release()
 
     def add_arch_job(self, job):
@@ -412,7 +412,7 @@
         self._archjobs_lock.acquire()
         print "%s (%s/%s): Builder disappeared.  Requeuing arch..." % (self.uid, self.package, job.arch)
         self.archjobs[job.arch] = None
-        self._request_one_arch_job(job.arch)
+        self._request_one_arch_job(job.arch, True)
         self._archjobs_lock.release()
 
     def is_done(self):




More information about the fedora-extras-commits mailing list