[Checkins] SVN: zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/ Export dictionaries per worker rather than a tuple, add in the worker version.

Brian Sutherland cvs-admin at zope.org
Tue Jul 24 09:05:01 UTC 2012


Log message for revision 127386:
  Export dictionaries per worker rather than a tuple, add in the worker version.
  
  This is backwards incompatible in that it changes the format of the data the
  status server sends. Some kind of backwards incompatibility is required to be
  able to export the worker version as well. The change to a dictionary is an
  attempt to try prevent this happening again in future.
  

Changed:
  U   zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/lb.py
  U   zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/tests.py
  U   zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.py
  U   zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.test

-=-
Modified: zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/lb.py
===================================================================
--- zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/lb.py	2012-07-24 09:01:50 UTC (rev 127385)
+++ zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/lb.py	2012-07-24 09:04:57 UTC (rev 127386)
@@ -335,12 +335,13 @@
                 backlog = self.backlog,
                 mean_backlog = self.mbacklog,
                 workers = [
-                    (worker.__name__,
-                     worker.backlog,
-                     worker.mbacklog,
-                     (int(worker.oldest_time)
-                      if worker.oldest_time else None),
-                     )
+                    dict(name=worker.__name__,
+                        backlog=worker.backlog,
+                        mbacklog=worker.mbacklog,
+                        oldest_time=(int(worker.oldest_time)
+                                        if worker.oldest_time else None),
+                        version=worker.version
+                        )
                     for worker in sorted(
                         self.workers, key=lambda w: w.__name__)
                     ])

Modified: zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/tests.py
===================================================================
--- zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/tests.py	2012-07-24 09:01:50 UTC (rev 127385)
+++ zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/tests.py	2012-07-24 09:04:57 UTC (rev 127386)
@@ -310,7 +310,7 @@
     >>> status = pool.status()
     >>> status['backlog']
     0
-    >>> status['workers'][0][0]
+    >>> status['workers'][0]['name']
     'foo'
     """
 

Modified: zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.py
===================================================================
--- zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.py	2012-07-24 09:01:50 UTC (rev 127385)
+++ zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.py	2012-07-24 09:04:57 UTC (rev 127386)
@@ -332,7 +332,11 @@
                 )
             print
             print worker_format % ('worker', 'backlog', 'mean bl', 'age')
-            for name, bl, mbl, start in workers:
+            for w in workers:
+                name, bl, mbl, start = (w['name'],
+                        w['backlog'],
+                        w['mbacklog'],
+                        w['oldest_time'])
                 print worker_format % (
                     name, bl, "%.1f" % mbl,
                     now-start if start is not None else '-')

Modified: zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.test
===================================================================
--- zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.test	2012-07-24 09:01:50 UTC (rev 127385)
+++ zc.resumelb/branches/jinty-external-pool/src/zc/resumelb/zk.test	2012-07-24 09:04:57 UTC (rev 127386)
@@ -312,10 +312,18 @@
      u'mean_backlog': 0.6...,
      u'workers': [...]}
 
-    >>> sorted(status['workers'], key=lambda w: w[2])
+    >>> pprint(sorted(status['workers'], key=lambda x: x['backlog']))
     ... # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
-    [[u'127.0.0.1:...', 0, 0, None],
-     [u'127.0.0.1:...', 1, 0.6..., 13...]]
+    [{u'backlog': 0,
+      u'mbacklog': 0,
+      u'name': u'127.0.0.1:...',
+      u'oldest_time': None,
+      u'version': None},
+     {u'backlog': 1,
+      u'mbacklog': 0.6...,
+      u'name': u'127.0.0.1:...',
+      u'oldest_time': 13...,
+      u'version': None}]
 
     >>> status_file.close()
     >>> status_socket.close()



More information about the checkins mailing list