[Checkins] SVN: Sandbox/J1m/resumelb/src/zc/resumelb/lb. Fixed a pool-management bug that limited the requests per worker to
Jim Fulton
jim at zope.com
Wed Dec 28 18:03:14 UTC 2011
Log message for revision 123868:
Fixed a pool-management bug that limited the requests per worker to
40.
Changed:
U Sandbox/J1m/resumelb/src/zc/resumelb/lb.py
U Sandbox/J1m/resumelb/src/zc/resumelb/lb.test
-=-
Modified: Sandbox/J1m/resumelb/src/zc/resumelb/lb.py
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/lb.py 2011-12-28 18:03:10 UTC (rev 123867)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/lb.py 2011-12-28 18:03:14 UTC (rev 123868)
@@ -42,7 +42,9 @@
while 1:
worker = self.pool.get(rclass)
try:
- return worker.handle(rclass, env, start_response)
+ result = worker.handle(rclass, env, start_response)
+ self.pool.put(worker)
+ return result
except worker.Disconnected:
# XXX need to be more careful about whether
# start_response was called.
@@ -57,8 +59,6 @@
body = ("<html><body>%s</body></html>"
% self.disconnect_message)
)(env, start_response)
- else:
- self.pool.put(worker)
class Pool:
Modified: Sandbox/J1m/resumelb/src/zc/resumelb/lb.test
===================================================================
--- Sandbox/J1m/resumelb/src/zc/resumelb/lb.test 2011-12-28 18:03:10 UTC (rev 123867)
+++ Sandbox/J1m/resumelb/src/zc/resumelb/lb.test 2011-12-28 18:03:14 UTC (rev 123868)
@@ -170,6 +170,15 @@
>>> g2.value.status, g2.value.body == '2'*10000
('200 OK', True)
+Pool Management
+===============
+
+At this point, there are no outstanding requests. The pool back-logs
+should all be 0:
+
+ >>> sum(lb.pool.backlogs.values())
+ 0
+
Worker disconnection
====================
More information about the checkins
mailing list