示例#1
0
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
示例#2
0
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
示例#3
0
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
示例#4
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
示例#5
0
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))
示例#6
0
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)