[Checkins]
SVN: lovely.remotetask/trunk/src/lovely/remotetask/service.py
Do not use IndexError because of performance problems with
tracebacks and eggs
Jürgen Kartnaller
juergen at kartnaller.at
Fri Jun 15 09:30:10 EDT 2007
Log message for revision 76712:
Do not use IndexError because of performance problems with tracebacks and eggs
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-06-15 13:01:58 UTC (rev 76711)
+++ lovely.remotetask/trunk/src/lovely/remotetask/service.py 2007-06-15 13:30:09 UTC (rev 76712)
@@ -53,7 +53,7 @@
_scheduledJobs = None
_scheduledQueue = None
-
+
def __init__(self):
super(TaskService, self).__init__()
self._counter = 1
@@ -173,7 +173,7 @@
def processNext(self, now=None):
job = self._pullJob(now)
if job is None:
- raise IndexError
+ return False
jobtask = component.getUtility(self.taskInterface, name=job.task)
job.started = datetime.datetime.now()
if not hasattr(storage, 'runCount'):
@@ -203,10 +203,7 @@
def process(self, now=None):
"""See interfaces.ITaskService"""
- try:
- while self.processNext(now):
- pass
- except IndexError:
+ while self.processNext(now):
pass
def _pullJob(self, now=None):
@@ -271,9 +268,8 @@
request.setTraversalStack(path)
try:
zope.publisher.publish.publish(request, False)
- except IndexError:
- log.debug('waiting for next %s task'% path[1])
- time.sleep(1)
+ if not request.response._result:
+ time.sleep(1)
except:
# This thread should never crash, thus a blank except
pass
More information about the Checkins
mailing list