[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