extras-buildsys/server ArchJob.py,1.16.2.7,1.16.2.8

Daniel Williams (dcbw) fedora-extras-commits at redhat.com
Thu Feb 16 18:39:03 UTC 2006


Author: dcbw

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

Modified Files:
      Tag: STABLE_0_4
	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.16.2.7
retrieving revision 1.16.2.8
diff -u -r1.16.2.7 -r1.16.2.8
--- ArchJob.py	16 Feb 2006 06:19:48 -0000	1.16.2.7
+++ ArchJob.py	16 Feb 2006 18:38:55 -0000	1.16.2.8
@@ -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':
@@ -173,14 +184,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
@@ -245,8 +258,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 fedora-extras-commits mailing list