[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