def test_more_clients(rsds_env): url = rsds_env.start([1]) client1 = Client(url) client2 = Client(url) f1 = client1.submit(comp_fn1, 10) f2 = client2.submit(comp_fn1, 20) r2 = client2.gather(f2) r1 = client1.gather(f1) assert r1 == 100 assert r2 == 200
def test_submit_gather(rsds_env): url = rsds_env.start([1]) client = Client(url) f1 = client.submit(comp_fn1, 10) f2 = client.submit(comp_fn1, 13) r1, r2 = client.gather([f1, f2]) assert r1 == 100 assert r2 == 130 f1, f2 = client.map(comp_fn1, [20, 30]) r1, r2 = client.gather([f1, f2]) assert r1 == 200 assert r2 == 300 r1 = delayed_fn2(delayed_fn1(2), delayed_fn1(3)).compute() assert r1 == 50
def test_same_input(rsds_env): url = rsds_env.start([1]) client = Client(url) f1 = client.submit(comp_fn1, 10) f2 = client.submit(comp_fn2, f1, f1) r2 = client.gather(f2) assert r2 == 0
def test_gather_already_finished(rsds_env): url = rsds_env.start([1]) client = Client(url) x = client.submit(inc, 10) assert not x.done() assert isinstance(x, Future) assert x.client is client result = client.gather(x) assert result == 11 assert x.done() y = client.submit(inc, 20) z = client.submit(add, x, y) result = client.gather(z) assert result == 11 + 21
def test_scatter(rsds_env): url = rsds_env.start([1]) client = Client(url) client.wait_for_workers(1) metadata = client.scheduler_info() worker = list(metadata["workers"].keys())[0] futures = client.scatter(range(10), workers=[worker]) fut = client.submit(comp_fn3, futures) assert client.gather(fut) == list(range(1, 11))
def test_recompute_existing(rsds_env): url = rsds_env.start([1]) client = Client(url) # assert delayed_fn1(10).compute() == 100 # assert delayed_fn1(10).compute() == 100 f1 = client.submit(comp_fn1, 10) f2 = client.submit(comp_fn1, 10) r1, r2 = client.gather([f1, f2]) assert r1 == 100 assert r2 == 100
def test_dask_cv_single(self): test_cluster = LocalCluster(1) test_client = Client(test_cluster) iris = load_iris() reg = tree.DecisionTreeClassifier() cv_score = test_client.submit(cross_val_score, reg, iris.data, iris.target) self.assertGreater(cv_score.result().mean(), 0) test_cluster.scale_up(4) _cv_results = { 'reg_%i': test_client.submit(cross_val_score, tree.DecisionTreeClassifier(min_samples_leaf=i), iris.data, iris.target) for i in range(5) } cv_results = test_client.gather(list(_cv_results.values())) for cv_result in cv_results: self.assertGreaterEqual(cv_result.mean(), 0)