У майнеров эфира на Дварф пуле периодически возникает проблема реджектов из-за глюков рекомендуемого прокси. Самый простой вариант - перезапуск прокси и майнера. Попытки производить стандартными средствами 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 Comments
Recommended Comments
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now