[Checkins] SVN: Sandbox/J1m/resumelb/src/zc/resumelb/worker.py Added thread-pool support.
Jim Fulton
jim at zope.com
Sun Jan 15 18:41:46 UTC 2012
Log message for revision 124052:
Added thread-pool support.
XXX need unit test. Tested informally via simul.
Changed:
U Sandbox/J1m/resumelb/src/zc/resumelb/worker.py
-=-
Modified: Sandbox/J1m/resumelb/src/zc/resumelb/worker.py
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/worker.py 2012-01-15 18:41:44 UTC (rev 124051)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/worker.py 2012-01-15 18:41:45 UTC (rev 124052)
@@ -9,6 +9,7 @@
import time
import zc.mappingobject
import zc.resumelb.util
+import zc.resumelb.thread
logger = logging.getLogger(__name__)
@@ -20,6 +21,13 @@
self.resume = {}
self.time_ring = []
self.time_ring_pos = 0
+
+ if settings.get('threads'):
+ pool = zc.resumelb.thread.Pool(self.settings.threads)
+ self.apply = pool.apply
+ else:
+ self.apply = lambda f, *a: f(*a)
+
while 1:
try:
self.connect(addr)
@@ -73,7 +81,7 @@
self.put((rno, (status, headers)))
try:
- for data in self.app(env, start_response):
+ for data in self.apply(self.app, env, start_response):
self.put((rno, data))
self.put((rno, ''))
More information about the checkins
mailing list