У меня есть код, который я пытаюсь ускорить, используя dask.disributed в Python3. У меня трехуровневый подход, где у меня есть объект dask.distributed Client
, запускающий работу. Из этой работы я запускаю worker_clients
для запуска определенных функций. Эти worker_clients
сами начинают новое worker_clients
. Таким образом, иерархия выглядит как
level 0: Client
/|\
level 1: wcA1 wcA2 wcA3
/|\ /|\ /|\
level 2: wcB1 ... wcB4... wcB7...
Я получаю сообщение об ошибке
<Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)>
без дополнительных подробностей.
То, что я уже попробовал:
- пропуск
level 1
. Я могу выполнить это успешно только с двумя уровнями, Client
, который начинается worker_clients
. Ошибка возникает, когда у меня worker_client
запускается другой worker_clients
.
Код:
- для запуска основного
Client
: cli = Client()
- для запуска level1 и level2
worker_clients
:
with worker_client() as wc:
y = [wc.submit(func, i) for i in iterable]
y = wc.gather(y)
У кого-нибудь есть вход? Спасибо