Доступ к результатам задач, запущенных другими задачами в Dask - PullRequest
1 голос
/ 26 сентября 2019

Мое приложение требует, чтобы я запускал задачи из других задач, например:

def a():
    # ... some computation ..

def b():
    # ... some computation ..

def c():
    client = get_client()
    a = client.submit(a)
    b = client.submit(b)

    [a,b] = client.gather([a,b])

    return a+b

client = get_client()
res = client.submit(c)

Однако я хотел бы иметь доступ к промежуточным результатам a и b (при вызове c), но только c отображается в client.futures.

Есть ли способ заставить dask сохранять результаты для a и b?

Я пытался использовать метод Future.add_done_callback, но он не работает для submit звонки внутри других submit звонков.

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2019

Возможно, вы захотите взглянуть на координационные примитивы Dask, такие как общие переменные, очереди и pub / sub.https://docs.dask.org/en/latest/futures.html#coordination-primitives

...