Я создал кластер с помощьюЧтения стандартного вывода из подчиненных узлов с ipcluster
ipcluster start --n=8
затем к нему доступ с помощью
from IPython.parallel import Client
c=Client()
dview=c[:]
e=[i for i in c]
Я бег процессов на подчиненных узлах (е [0 ] -e [7]), которые занимают много времени, и я бы хотел, чтобы они отправили отчеты о проделанной работе мастеру, чтобы я мог следить за тем, насколько они прошли.
Есть два способа, я могу думать, чтобы сделать это, но до сих пор я не смог реализовать ни один из них, несмотря на часы траления через страницы вопросов.
Либо я хочу, чтобы узлы возвращали данные обратно мастеру без подсказки. то есть в течение длительного процесса, который выполняется на узлах, я реализую функцию, которая через определенные промежутки времени передает свой ход мастеру.
Или я мог бы перенаправить stdout узлов на вершину мастера, а затем просто отслеживать прогресс, используя печать. Это то, над чем я работал до сих пор. Каждый узел имеет свой собственный stdout, поэтому печать не делает ничего, если выполняется удаленно. Я попытался нажать sys.stdout на узлы, но это просто закрывает его.
Я не могу поверить, что я единственный человек, который хочет это сделать, поэтому, возможно, я пропустил что-то очень простое. Как я могу отслеживать длительные процессы, выполняемые удаленно с помощью ipython?
Спасибо, что я только что это сделал. –