[Checkins] SVN: lovely.remotetask/trunk/src/lovely/remotetask/service.py abstract out computation of the thread name (fix DRY violation),

Fred L. Drake, Jr. fdrake at gmail.com
Fri Nov 2 21:23:34 EDT 2007


Log message for revision 81420:
  abstract out computation of the thread name (fix DRY violation),
  noting problem with the computed names
  

Changed:
  U   lovely.remotetask/trunk/src/lovely/remotetask/service.py

-=-
Modified: lovely.remotetask/trunk/src/lovely/remotetask/service.py
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/service.py	2007-11-03 01:13:11 UTC (rev 81419)
+++ lovely.remotetask/trunk/src/lovely/remotetask/service.py	2007-11-03 01:23:32 UTC (rev 81420)
@@ -150,14 +150,14 @@
         if self._scheduledQueue == None:
             self._scheduledQueue = zc.queue.PersistentQueue()
         path = [parent.__name__ for parent in zapi.getParents(self)
-                 if parent.__name__]
+                if parent.__name__]
         path.reverse()
         path.append(self.__name__)
         path.append('processNext')
 
         thread = threading.Thread(
             target=processor, args=(self._p_jar.db(), path),
-            name='remotetasks.'+self.__name__)
+            name=self._threadName())
         thread.setDaemon(True)
         thread.running = True
         thread.start()
@@ -166,7 +166,7 @@
         """See interfaces.ITaskService"""
         if self.__name__ is None:
             return
-        name = 'remotetasks.'+self.__name__
+        name = self._threadName()
         for thread in threading.enumerate():
             if thread.getName() == name:
                 thread.running = False
@@ -175,13 +175,19 @@
     def isProcessing(self):
         """See interfaces.ITaskService"""
         if self.__name__ is not None:
-            name = 'remotetasks.' + self.__name__
+            name = self._threadName()
             for thread in threading.enumerate():
                 if thread.getName() == name:
                     if thread.running:
                         return True
         return False
 
+    def _threadName(self):
+        """Return name of the processing thread."""
+        # This name isn't unique based on the path to self, but this doesn't
+        # change the name that's been used in past versions.
+        return 'remotetasks.' + self.__name__
+
     def processNext(self, now=None):
         job = self._pullJob(now)
         if job is None:



More information about the Checkins mailing list