Создание сценария для параллельного плоттинга Chia через PowerShell

Chiacoin

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

1. Создать сценарий можно через любой текстовый редактор (например, блокнот), сохранив файл с расширением *.ps1 (если у вас в сценарии будут присутствовать слова на русском языке, то кодировку надо выбрать "UTF-8 со спецификацией")

2. Запуск сценария осуществляем нажатием правой кнопки мыши на созданный файл и выбором пункта "Выполнить с помощью PowerShell"; ну или - "Открыть с помощью", где выбираем: "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"

3. Текст сценария должен выглядеть так:
#Запуск сценария
############Плоттинг###############
invoke-expression 'cmd /c start powershell -NoExit -Command {cd "C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\";$host.ui.RawUI.WindowTitle = "temp01-plot01"; start-sleep 0 ; .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 ;Read-Host -Prompt "press enter to exit"}'
где:
  • invoke-expression 'cmd /c start powershell - открывает новое окно PowerShell;
  • -NoExit - не позволяет закрывать окно после завершения (это может пригодиться, если вы хотите посмотреть результаты);
  • -Command {...}- список команд, которые мы хотим передать PowerShell;
  • cd "C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\ - команда выбора нужной нам директории для плоттинга (вместо "username" выбираем имя своего пользователя, а вместо "1.1.5" выбираем версию своей программы Chia);
  • $host.ui.RawUI.WindowTitle = "temp01-plot01" - команда переименования заголовка окна (чтобы не было путаницы с окнами);
  • start-sleep 0 - команда задержки запуска следующего сценария (это нужно для оптимизации параллельного плоттинга, т.к. в противном случае плоттинг может быть серьезно замедлен, а компьютер может - зависнуть; вычисляем для себя, сколько длится первая фаза создания плота и выставляем это значение);
  • .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 - команда создания плота (подробней о значениях расписано в предыдущей теме);
  • Read-Host -Prompt "press enter to exit" - команда задержки закрытия окна; при нажатии "Enter" произойдет закрытие окна (это может потребоваться, если -NoExit не сработает);

4. Сценарий для одновременного запуска создания нескольких плотов будет выглядеть примерно так:

#Запуск сценария
############Плоттинг###############
invoke-expression 'cmd /c start powershell -NoExit -Command {cd C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\;$host.ui.RawUI.WindowTitle = "temp01-plot01"; start-sleep 0 ; .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 ;Read-Host -Prompt "press enter to exit"}'
invoke-expression 'cmd /c start powershell -NoExit -Command {cd C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\;$host.ui.RawUI.WindowTitle = "temp01-plot02"; start-sleep 2000 ; .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 ;Read-Host -Prompt "press enter to exit"}'
invoke-expression 'cmd /c start powershell -NoExit -Command {cd C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\;$host.ui.RawUI.WindowTitle = "temp01-plot03"; start-sleep 4000 ; .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 ;Read-Host -Prompt "press enter to exit"}'
invoke-expression 'cmd /c start powershell -NoExit -Command {cd C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\;$host.ui.RawUI.WindowTitle = "temp01-plot04"; start-sleep 6000 ; .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 ;Read-Host -Prompt "press enter to exit"}'
invoke-expression 'cmd /c start powershell -NoExit -Command {cd C:\Users\username\AppData\Local\chia-blockchain\app-1.1.5\resources\app.asar.unpacked\daemon\;$host.ui.RawUI.WindowTitle = "temp01-plot05"; start-sleep 8000 ; .\chia.exe plots create -k 32 -b 3389 -u 128 -r 2 -t D:\temp -d E:\plot -n 1 ;Read-Host -Prompt "press enter to exit"}'
 
Верх