extras-buildsys/server Builder.py,1.20,1.21
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Wed Oct 19 13:46:46 UTC 2005
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28080/server
Modified Files:
Builder.py
Log Message:
2005-10-19 Dan Williams <dcbw at redhat.com>
* server/builder.py
- Make the server's builder-tracking thread more resistant
to builder errors
Index: Builder.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/Builder.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- Builder.py 14 Sep 2005 15:41:59 -0000 1.20
+++ Builder.py 19 Oct 2005 13:46:43 -0000 1.21
@@ -86,8 +86,10 @@
num_slots = self._num_slots
try:
num_slots = self._server.num_slots()
- except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, xmlrpclib.ProtocolError):
+ except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, OpenSSL.SSL.Error, xmlrpclib.ProtocolError):
pass
+ except xmlrpclib.Fault, e:
+ print "Builder Error (%s) in _get_num_slots(): builder replied '%s'" % (self.address, e)
return num_slots
def _building_jobs(self):
@@ -97,7 +99,10 @@
self._unavail_count = 0
self._alive = True
self._free_slots = free_slots
- except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, xmlrpclib.ProtocolError):
+ except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, OpenSSL.SSL.Error, xmlrpclib.ProtocolError):
+ self._unavail_count = self._unavail_count + 1
+ except xmlrpclib.Fault, e:
+ print "Builder Error (%s) in _building_jobs(): builder replied '%s'" % (self.address, e)
self._unavail_count = self._unavail_count + 1
return jobs
@@ -108,6 +113,9 @@
alive = True
except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, OpenSSL.SSL.Error, xmlrpclib.ProtocolError):
alive = False
+ except xmlrpclib.Fault, e:
+ print "Builder Error (%s) in _ping_builder(): builder replied '%s'" % (self.address, e)
+ alive = False
return (alive, target_list)
def _match_target_dict(self, td1, td2):
@@ -154,10 +162,10 @@
try:
# Builder will return jobid of 0 if it can't start the job for some reason
jobid = self._server.start_new_job(target_dict, srpm_url)
- except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, xmlrpclib.ProtocolError):
+ except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, OpenSSL.SSL.Error, xmlrpclib.ProtocolError):
jobid = 0
except xmlrpclib.Fault, e:
- print "Builder Error (%s): builder replied '%s'" % (self.address, e)
+ print "Builder Error (%s) in start_job(): builder replied '%s'" % (self.address, e)
time.sleep(0.5)
jobid = 0
@@ -208,7 +216,9 @@
status = None
try:
status = self._server.job_status(jobid)
- except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, xmlrpclib.ProtocolError):
+ except (socket.error, socket.timeout, OpenSSL.SSL.SysCallError, OpenSSL.SSL.Error):
+ pass
+ except (xmlrpclib.Fault, xmlrpclib.ProtocolError):
pass
return status
More information about the scm-commits
mailing list