##// 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 targets: list,slice,int,etc. [default: use all engines]
1024 targets: list,slice,int,etc. [default: use all engines]
1025 The subset of engines across which to load-balance
1025 The subset of engines across which to load-balance
1026 """
1026 """
1027 if targets == 'all':
1028 targets = None
1027 if targets is not None:
1029 if targets is not None:
1028 targets = self._build_targets(targets)[1]
1030 targets = self._build_targets(targets)[1]
1029 return LoadBalancedView(client=self, socket=self._task_socket, targets=targets)
1031 return LoadBalancedView(client=self, socket=self._task_socket, targets=targets)
@@ -1041,7 +1043,9 b' class Client(HasTraits):'
1041 The engines to use for the View
1043 The engines to use for the View
1042 """
1044 """
1043 single = isinstance(targets, int)
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 if single:
1049 if single:
1046 targets = targets[0]
1050 targets = targets[0]
1047 return DirectView(client=self, socket=self._mux_socket, targets=targets)
1051 return DirectView(client=self, socket=self._mux_socket, targets=targets)
@@ -76,7 +76,16 b' class TestClient(ClusterTestCase):'
76 v = self.client.load_balanced_view(-1)
76 v = self.client.load_balanced_view(-1)
77 self.assertEquals(v.targets, [self.client.ids[-1]])
77 self.assertEquals(v.targets, [self.client.ids[-1]])
78 v = self.client.load_balanced_view('all')
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 def test_targets(self):
90 def test_targets(self):
82 """test various valid targets arguments"""
91 """test various valid targets arguments"""
General Comments 0
You need to be logged in to leave comments. Login now