[CalendarServer-changes] [12637] CalendarServer/branches/release/CalendarServer-5.2-dev/twext/ enterprise

source_changes at macosforge.org source_changes at macosforge.org
Wed Mar 12 11:16:52 PDT 2014


Revision: 12637
          http://trac.calendarserver.org//changeset/12637
Author:   cdaboo at apple.com
Date:     2014-02-10 13:33:34 -0800 (Mon, 10 Feb 2014)
Log Message:
-----------
Fix missing kwarg name.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/queue.py
    CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/test/test_queue.py

Modified: CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/queue.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/queue.py	2014-02-10 21:32:13 UTC (rev 12636)
+++ CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/queue.py	2014-02-10 21:33:34 UTC (rev 12637)
@@ -115,7 +115,7 @@
     (in the worst case) pass from worker->controller->controller->worker.
     """
 
-    def performWork(table, workID):
+    def performWork(table, workID): #@NoSelf
         """
         @param table: The table where work is waiting.
         @type table: L{TableSyntax}
@@ -371,7 +371,6 @@
         will be taken care of by the job queueing machinery.
         """
 
-
     @classmethod
     def forTable(cls, table):
         """
@@ -1194,7 +1193,7 @@
         if self.workerPool.hasAvailableCapacity():
             return self.workerPool
         if self.peers and not onlyLocally:
-            return sorted(self.peers, lambda p: p.currentLoadEstimate())[0]
+            return sorted(self.peers, key=lambda p: p.currentLoadEstimate())[0]
         else:
             return LocalPerformer(self.transactionFactory)
 

Modified: CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/test/test_queue.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/test/test_queue.py	2014-02-10 21:32:13 UTC (rev 12636)
+++ CalendarServer/branches/release/CalendarServer-5.2-dev/twext/enterprise/test/test_queue.py	2014-02-10 21:33:34 UTC (rev 12637)
@@ -418,6 +418,36 @@
         self.assertEquals(performResult, [None])
 
 
+    def test_choosePerformerSorted(self):
+        """
+        If L{PeerConnectionPool.choosePerformer} is invoked make it
+        return the peer with the least load.
+        """
+        peer = PeerConnectionPool(None, None, 4322, schema)
+
+        class DummyPeer(object):
+            def __init__(self, name, load):
+                self.name = name
+                self.load = load
+
+            def currentLoadEstimate(self):
+                return self.load
+
+        apeer = DummyPeer("A", 1)
+        bpeer = DummyPeer("B", 0)
+        cpeer = DummyPeer("C", 2)
+        peer.addPeerConnection(apeer)
+        peer.addPeerConnection(bpeer)
+        peer.addPeerConnection(cpeer)
+
+        performer = peer.choosePerformer(onlyLocally=False)
+        self.assertEqual(performer, bpeer)
+
+        bpeer.load = 2
+        performer = peer.choosePerformer(onlyLocally=False)
+        self.assertEqual(performer, apeer)
+
+
     @inlineCallbacks
     def test_notBeforeWhenCheckingForLostWork(self):
         """
@@ -563,8 +593,8 @@
             t = StringTransport()
             p.makeConnection(t)
             return p, t
-        worker1, trans1 = peer()
-        worker2, trans2 = peer()
+        worker1, _ignore_trans1 = peer()
+        worker2, _ignore_trans2 = peer()
         # Ask the worker to do something.
         worker1.performWork(schema.DUMMY_WORK_ITEM, 1)
         self.assertEquals(worker1.currentLoad, 1)
@@ -678,7 +708,7 @@
         """
         Keep relaying data until there's no more.
         """
-        for x in range(turns):
+        for _ignore_x in range(turns):
             if not (self.pump() or self.pump()):
                 return
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/34e3d4d2/attachment.html>


More information about the calendarserver-changes mailing list