extras-buildsys/server ArchJob.py, 1.16.2.3, 1.16.2.4 PackageJob.py, 1.31.2.4, 1.31.2.5
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Tue Nov 15 05:22:06 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv26644/server
Modified Files:
Tag: STABLE_0_4
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.16.2.3
retrieving revision 1.16.2.4
diff -u -r1.16.2.3 -r1.16.2.4
--- ArchJob.py 14 Nov 2005 01:27:50 -0000 1.16.2.3
+++ ArchJob.py 15 Nov 2005 05:22:04 -0000 1.16.2.4
@@ -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.31.2.4
retrieving revision 1.31.2.5
diff -u -r1.31.2.4 -r1.31.2.5
--- PackageJob.py 14 Nov 2005 19:14:25 -0000 1.31.2.4
+++ PackageJob.py 15 Nov 2005 05:22:04 -0000 1.31.2.5
@@ -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