##// END OF EJS Templates
allow rc.direct_view('all') to be lazily-evaluated...
MinRK -
Show More
@@ -1024,6 +1024,8 b' class Client(HasTraits):'
1024 1024 targets: list,slice,int,etc. [default: use all engines]
1025 1025 The subset of engines across which to load-balance
1026 1026 """
1027 if targets == 'all':
1028 targets = None
1027 1029 if targets is not None:
1028 1030 targets = self._build_targets(targets)[1]
1029 1031 return LoadBalancedView(client=self, socket=self._task_socket, targets=targets)
@@ -1041,7 +1043,9 b' class Client(HasTraits):'
1041 1043 The engines to use for the View
1042 1044 """
1043 1045 single = isinstance(targets, int)
1044 targets = self._build_targets(targets)[1]
1046 # allow 'all' to be lazily evaluated at each execution
1047 if targets != 'all':
1048 targets = self._build_targets(targets)[1]
1045 1049 if single:
1046 1050 targets = targets[0]
1047 1051 return DirectView(client=self, socket=self._mux_socket, targets=targets)
@@ -76,7 +76,16 b' class TestClient(ClusterTestCase):'
76 76 v = self.client.load_balanced_view(-1)
77 77 self.assertEquals(v.targets, [self.client.ids[-1]])
78 78 v = self.client.load_balanced_view('all')
79 self.assertEquals(v.targets, self.client.ids)
79 self.assertEquals(v.targets, None)
80
81 def test_dview_targets(self):
82 """test load_balanced_view targets"""
83 v = self.client.direct_view()
84 self.assertEquals(v.targets, 'all')
85 v = self.client.direct_view('all')
86 self.assertEquals(v.targets, 'all')
87 v = self.client.direct_view(-1)
88 self.assertEquals(v.targets, self.client.ids[-1])
80 89
81 90 def test_targets(self):
82 91 """test various valid targets arguments"""
General Comments 0
You need to be logged in to leave comments. Login now