DASK, как отменить расчет? - PullRequest
0 голосов
/ 25 февраля 2020

1) Как отменить применение данных? например,

dask_df.apply(myfunc)  # Long running

2) Как вообще остановить все запущенные задачи?
Есть client.cancel(futures). Но у меня нет ссылки на фьючерсы. Хранит ли dask их список?

1 Ответ

0 голосов
/ 26 февраля 2020

Python не обеспечивает способ прерывания работающего потока, поэтому это ограничивает возможности Dask.

Если вы используете распределенный планировщик, вы действительно можете использовать интерфейс futures для проверки состояние расчетов и выдачи команд отмены. Например, вместо вызова метода compute для объекта Dask вы можете использовать версию client

fut = client.compute(dataframe_thing)

, которая создает будущее и работает асинхронно (т. Е. Сразу возвращает вместо блокировка пока не сделано). Вы можете отменить это будущее (или удалить его, поэтому Dask считает, что он больше не нужен). Однако это только остановит выполнение запланированных задач - те, которые уже выполняются, будут продолжать это делать.

...