extras-buildsys/server ArchJob.py, 1.19, 1.20 PackageJob.py, 1.35, 1.36
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Tue Nov 15 05:20:57 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26584/server
Modified Files:
ArchJob.py PackageJob.py
Log Message:
2005-11-15 Dan Williams <dcbw at redhat.com>
* server/ArchJob.py
server/PackageJob.py
- Log kill requests
Index: ArchJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/ArchJob.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- ArchJob.py 13 Nov 2005 02:27:39 -0000 1.19
+++ ArchJob.py 15 Nov 2005 05:20:54 -0000 1.20
@@ -54,6 +54,7 @@
self._starttime = time.time()
self._endtime = 0
self._die = False
+ self._die_user_requested = False
self._die_lock = threading.Lock()
# SSL certificate and key filenames
@@ -269,10 +270,14 @@
# If we're supposed to die, tell the builder and clean up
self._die_lock.acquire()
should_die = self._die
+ user_requested = self._die_user_requested
self._die_lock.release()
if should_die:
self._server.die(self.jobid)
self._set_status('done')
+ if user_requested:
+ print "%s (%s/%s): %s - killed." % (self.par_job.uid, self.par_job.package,
+ self._target_dict['arch'], self.jobid)
return
try:
@@ -308,11 +313,15 @@
self._set_status('done')
self.par_job.remove_arch_job(self)
- def die(self):
+ def die(self, user_requested=False):
# Can be called from other threads
if self._status == 'running':
self._die_lock.acquire()
self._die = True
+ self._die_user_requested = user_requested
self._die_lock.release()
+ if user_requested:
+ print "%s (%s/%s): %s - kill requested by parent job" % (self.par_job.uid,
+ self.par_job.package, self._target_dict['arch'], self.jobid)
Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- PackageJob.py 14 Nov 2005 04:56:02 -0000 1.35
+++ PackageJob.py 15 Nov 2005 05:20:54 -0000 1.36
@@ -460,7 +460,7 @@
""" Removes an arch job when its builder is no longer responding """
self._archjobs_lock.acquire()
jobarch = job.arch()
- print "%s (%s/%s): Builder disappeared. Requeuing arch..." % (self.uid, self.package, jobarch)
+ log("%s (%s/%s): Builder disappeared. Requeuing arch..." % (self.uid, self.package, jobarch))
self.archjobs[jobarch] = None
self._request_one_arch_job(jobarch, True)
self._archjobs_lock.release()
@@ -474,6 +474,7 @@
self._killer = username
self._die = True
+ log("%s (%s): Job kill request from %s" % (self.uid, self.package, username))
self._archjobs_lock.acquire()
if self.curstage == 'waiting':
# In 'waiting' stage, we have no controller thread. So to get
@@ -490,9 +491,10 @@
self.result = 'killed'
self._set_cur_stage('finished', resultstring)
self.email_result(self.username, resultstring)
+ log(resultstring)
# Kill any building jobs
- self._kill_all_archjobs()
+ self._kill_all_archjobs(True)
# Wake us up if the Controller thread is still running
if not self._event.isSet():
@@ -501,11 +503,11 @@
self.endtime = time.time()
self.bm.notify_job_done(self)
- def _kill_all_archjobs(self):
+ def _kill_all_archjobs(self, user_requested=False):
self._archjobs_lock.acquire()
for job in self.archjobs.values():
if job:
- job.die()
+ job.die(user_requested)
self.archjobs = {}
self._archjobs_lock.release()
@@ -546,7 +548,7 @@
# build when one archjob fails
if self._target_cfg.testing() == False:
# Kill remaining jobs on other arches
- self._kill_all_archjobs()
+ self._kill_all_archjobs(False)
self._stage_failed(e.msg)
def _stage_building(self):
More information about the scm-commits
mailing list