У майнеров эфира на Дварф пуле периодически возникает проблема реджектов из-за глюков рекомендуемого прокси. Самый простой вариант - перезапуск прокси и майнера. Попытки производить стандартными средствами Windows через bat-файл не принесли положительного результата, видимо taskkill работает слишком жестоко для нежного прокси)))
:Rsstart D:\Mng\Etherium\eth-proxy\eth-proxy.exetimeout /t 3start D:\Mng\Etherium\eth_miner\ethminer -F http://127.0.0.1:8080/R290 -G --opencl-device 1 --opencl-platform 1 --farm-recheck 200timeout 3600taskkill.exe /f /im "ethminer.exe" /Ttimeout 2taskkill.exe /f /im "eth-proxy.exe" /Ttimeout 2goto :Rsexit
Предлагаю другой способ автоматизации этой нехитрой процедуры - пишем небольшой скрипт на Autohotkey.
Протестировано на Win7x64, AHK 111604. Для отправки email используем утилиту mailsend.
Все достаточно просто:
1. Качаем
По ссылке AHK:https://www.autohotkey.com/
По ссылке mailsend: https://github.com/muquit/mailsend/
2. Создаем
EtheriumRestart.ini с указанием путей к майнеру, прокси, строкой запуска майнера, период рестарта в минутах и учетные данные для отправки почты с уведомлением о произведенном перезапуске.
[paths]
path2miner="D:\Mng\Etherium\eth_miner\ethminer.exe"
path2proxy="D:\Mng\Etherium\eth-proxy\eth-proxy.exe"
path2emailer="D:\Mng\Etherium\mailsend.exe "
[additionalParams]
minerParams=" -F http://127.0.0.1:8080/R290 -G --opencl-device 1 --opencl-platform 1 --farm-recheck 200"
restartTimer=10
[emailParams]
eMail="mymail@somemail.ru"
subj="eth_restarter"
user="noreply@mydomain.ru"
from="noreply@mydomain.ru"
pass="mypass"
server="smtp.mydomain.ru"
Port="587"
3. Создаем EtheriumRestart.ahk - файл скрипта, в который помещаем следующий код:
Global path2miner =""Global path2proxy = ""Global path2emailer = ""Global eMail=""Global subj=""Global user=""Global from=""Global pass=""Global server=""Global port=""Global emailFlag = 0 FileDelete, %A_ScriptDir%/EtheriumRestart.log FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Start EtheriumRestart program ... Success`n, %A_ScriptDir%/EtheriumRestart.log IniRead, path2miner, %A_ScriptDir%\EtheriumRestart.ini, paths, path2miner IniRead, path2proxy, %A_ScriptDir%\EtheriumRestart.ini, paths, path2proxy IniRead, minerParams, %A_ScriptDir%\EtheriumRestart.ini, additionalParams, minerParams IniRead, restartTimer, %A_ScriptDir%\EtheriumRestart.ini, additionalParams, restartTimer IniRead, path2emailer, %A_ScriptDir%\EtheriumRestart.ini, paths, path2emailer IniRead, eMail, %A_ScriptDir%\EtheriumRestart.ini, emailParams, email IniRead, subj, %A_ScriptDir%\EtheriumRestart.ini, emailParams, subj IniRead, user, %A_ScriptDir%\EtheriumRestart.ini, emailParams, user IniRead, from, %A_ScriptDir%\EtheriumRestart.ini, emailParams, from IniRead, pass, %A_ScriptDir%\EtheriumRestart.ini, emailParams, pass IniRead, server, %A_ScriptDir%\EtheriumRestart.ini, emailParams, server IniRead, Port, %A_ScriptDir%\EtheriumRestart.ini, emailParams, Port Run, % path2proxy Sleep, 3000 ifWinExist, %path2proxy% FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Run %path2proxy% ... Successfull`n, %A_ScriptDir%/EtheriumRestart.log else FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Run %path2proxy% ... UNSUCCESSFULL`n, %A_ScriptDir%/EtheriumRestart.log Run, % path2miner minerParams Sleep, 1000 ifWinExist, %path2miner% FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Run %path2miner% %minerParams% ... Successfull`n, %A_ScriptDir%/EtheriumRestart.log else FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Run %path2miner% %minerParams% ... UNSUCCESSFULL`n, %A_ScriptDir%/EtheriumRestart.log if (eMail<>"" and subj<>"" and user<>"" and from<>"" and pass<>"" and server<>"" and Port<>"" and path2emailer<>"") emailFlag := 1loop { Sleep, restartTimer*60000 WinClose, D:\Mng\Etherium\eth_miner\ethminer.exe Sleep, 1000 ifWinNotExist, %path2miner% FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Ethminer was closed ... Successfull`n, %A_ScriptDir%/EtheriumRestart.log else FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Ethminer was NOT closed ... UNSUCCESSFULL`n, %A_ScriptDir%/EtheriumRestart.log WinClose, D:\Mng\Etherium\eth-proxy\eth-proxy.exe Sleep, 2500 ifWinNotExist, %path2miner% FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Eth-proxy was closed ... Successfull`n, %A_ScriptDir%/EtheriumRestart.log else FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Eth-proxy was NOT closed ... UNSUCCESSFULL`n, %A_ScriptDir%/EtheriumRestart.log Sleep, 5000 IniRead, path2miner, %A_ScriptDir%\EtheriumRestart.ini, paths, path2miner IniRead, path2proxy, %A_ScriptDir%\EtheriumRestart.ini, paths, path2proxy IniRead, restartTimer, %A_ScriptDir%\EtheriumRestart.ini, additionalParams, restartTimer Run, % path2proxy Sleep, 5000 Run, % path2miner minerParams Sleep, 1500 ifWinExist, %path2miner% ifWinExist, %path2proxy% { FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Restart cycle... Success`n, %A_ScriptDir%/EtheriumRestart.log if emailFlag fnc_sendEmailMessage("Restart cycle... Success") } else { FileAppend, %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec% Restart cycle... Cannot start miner or proxy.... UNSUCCESSFULL`n, %A_ScriptDir%/EtheriumRestart.log if emailFlag fnc_sendEmailMessage("Restart cycle... UNSUCCESSFULL") } }returnfnc_sendEmailMessage(messageText) { IniRead, path2emailer, %A_ScriptDir%\EtheriumRestart.ini, paths, path2emailer MailSend_String = -to %eMail% -from %from% -smtp %server% -port %Port% -sub %subj% +cc +bcc -v -auth-login -user %user% -pass %pass% -M "%messageText% %A_YYYY%%A_MM%%A_DD%_%A_Hour%:%A_Min%:%A_Sec%" Run, % path2emailer MailSend_String Sleep, 1000 }
4. Помещаем в одну папку наш ini-файл с настройками и .ahk файл со скриптом, проверяем пути к майнеру, прокси и отправщику почты
Если не хотим отправлять почту, в ini-файле оставляем в секции emailParams значения "" - пустые.
5. Запускаем наш .ahk файл, скрипт начинает выполняться, рядом с ним появится EtheriumRestart.log, думаю название говорит само за себя - незамысловатые логи работы скрипта.
Скрипт можно скомпилировать в exe файл, запускать на любой машине. По понятным причинам инсталляторы и exe не выкладываю, думаю все разберутся сами. Если у кого-то возникнут проблемы, обращайтесь подскажу.
Всем удачи!
17 Комментариев
Рекомендуемые комментарии
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти