extras-buildsys/server ArchJob.py,1.24,1.25
Daniel Williams (dcbw)
fedora-extras-commits at redhat.com
Thu Feb 16 18:33:41 UTC 2006
Author: dcbw
Update of /cvs/fedora/extras-buildsys/server
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10755/server
Modified Files:
ArchJob.py
Log Message:
2006-02-16 Dan Williams <dcbw at redhat.com>
* server/ArchJob.py
- Fix a few print statements that were using an unknown variable
to get the builder's address from
- Handle socket timeout errors
Index: ArchJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/ArchJob.py,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- ArchJob.py 16 Feb 2006 06:21:23 -0000 1.24
+++ ArchJob.py 16 Feb 2006 18:33:34 -0000 1.25
@@ -137,26 +137,37 @@
del attrdict
def _send_repo_unlocked(self):
+ success = False
try:
self._server.repo_unlocked(self.jobid)
+ success = True
except socket.error, e:
if not CommonErrors.canIgnoreSocketError(e):
- print "%s (%s/%s): [ %s ] Unknown error when signalling repo unlocked: '%s'" % (self.par_job.uid,
- self.par_job.package, self._target_dict['arch'], self.bci.address(), e)
+ print "%s (%s/%s): [ %s ] Unknown error sending repo unlocked: '%s'" % (self.par_job.uid,
+ self.par_job.package, self._target_dict['arch'], self.builder.address(), e)
+ except socket.timeout, e:
+ print "%s (%s/%s): [ %s ] Timeout sending repo unlocked: '%s'. Trying again." % (self.par_job.uid,
+ self.par_job.package, self._target_dict['arch'], self.builder.address(), e)
except xmlrpclib.ProtocolError, e:
pass
+ return success
def _dl_files(self):
files = []
+ success = False
try:
files = self._server.files(self.jobid)
+ success = True
except socket.error, e:
if not CommonErrors.canIgnoreSocketError(e):
- print "%s (%s/%s): [ %s ] Unknown error when getting file list: '%s'" % (self.par_job.uid,
- self.par_job.package, self._target_dict['arch'], self.bci.address(), e)
+ print "%s (%s/%s): [ %s ] Unknown error getting file list: '%s'" % (self.par_job.uid,
+ self.par_job.package, self._target_dict['arch'], self.builder.address(), e)
+ except socket.timeout, e:
+ print "%s (%s/%s): [ %s ] Timeout getting file list: '%s'" % (self.par_job.uid,
+ self.par_job.package, self._target_dict['arch'], self.builder.address(), e)
except xmlrpclib.ProtocolError, e:
pass
- return files
+ return (success, files)
def _is_done_status(self):
if self._status == 'done':
@@ -181,10 +192,10 @@
def _status_repo_unlock(self):
# Builder will be in 'downloaded' state until
# it notices that the repo has been unlocked
- self._send_repo_unlocked()
- self._prepping = True
- if self._builder_status != 'downloaded':
- self._set_status('running')
+ if self._send_repo_unlocked():
+ self._prepping = True
+ if self._builder_status != 'downloaded':
+ self._set_status('running')
def _status_running(self):
if self._builder_status != 'prepping':
@@ -192,14 +203,16 @@
# if the builder is done, grab list of files to download
if self._builder_finished():
- self._set_status('downloading')
- for f in self._dl_files():
- uf = urllib.unquote(f)
- dl_dict = {}
- dl_dict[DL_STATUS] = STATUS_WAITING
- dl_dict[DL_RETRIES] = 0
- dl_dict[DL_WAIT_TIME] = 0
- self._downloads[uf] = dl_dict
+ (success, files) = self._dl_files()
+ if success:
+ self._set_status('downloading')
+ for f in files:
+ uf = urllib.unquote(f)
+ dl_dict = {}
+ dl_dict[DL_STATUS] = STATUS_WAITING
+ dl_dict[DL_RETRIES] = 0
+ dl_dict[DL_WAIT_TIME] = 0
+ self._downloads[uf] = dl_dict
def dl_callback(self, status, cb_data):
url = cb_data
@@ -264,8 +277,8 @@
undownloaded = True
dl_dict[DL_STATUS] = STATUS_INPROGRESS
except FileDownloader.FileNameException, e:
- print "%s (%s/%s): [ %s ] Bad file name error when getting %s: '%s'" % (self.par_job.uid,
- self.par_job.package, self._target_dict['arch'], self.bci.address(), url, e)
+ print "%s (%s/%s): [ %s ] Bad file name error getting %s: '%s'" % (self.par_job.uid,
+ self.par_job.package, self._target_dict['arch'], self.builder.address(), url, e)
# Hard error, we don't retry this one
dl_dict[DL_STATUS] = STATUS_ERROR
break
More information about the scm-commits
mailing list