Получение, просмотр результатов и отмена фьючерсов с помощью клиента

Сценарий: пользователь A подключается к планировщику dask, отправляет длинное задание, используя client.map(func, list), и выходит из системы на выходные. Пользователь B хочет просмотреть результаты готовых фьючерсов, созданных пользователем A, и, возможно, отменить незавершенные фьючерсы.

Нам удалось получить следующие результаты фьючерсов, присутствующих в рабочих:

from dask.distributed import Client
from distributed.client import Future

client = Client("tcp://scheduler_ip:8786")
for worker, futures in client.has_what().items():
    for future_id in futures:
        f = Future(future_id, client)
        f._state.status = "finished"
        print(f.result())

Выполнение f.cancel() ничего не делает. Есть ли способ добиться этого?


person Felipe    schedule 25.08.2017    source источник


Ответы (1)


Фьючерсы на акции

Вы можете рассмотреть возможность совместного использования фьючерсов с помощью таких конструкций, как переменные и очереди. Дополнительную информацию см. В этих документах.

Отменить фьючерс

Отмена остановит задачу, если она еще не началась. К сожалению, как только функция начала работать, ее невозможно остановить, кроме как убить этого рабочего.

person MRocklin    schedule 25.08.2017