Поиск
Показаны результаты для тегов 'перезапуск'.
Найдено: 2 результата
-
Автоматизируем перезапуск ethminer eth-proxy
moneymaker опубликовал запись в блоге в moneymaker's блог
У майнеров эфира на Дварф пуле периодически возникает проблема реджектов из-за глюков рекомендуемого прокси. Самый простой вариант - перезапуск прокси и майнера. Попытки производить стандартными средствами 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 не выкладываю, думаю все разберутся сами. Если у кого-то возникнут проблемы, обращайтесь подскажу. Всем удачи! -
И так, сегодня я расскажу о своем способе борьбы с вылетом программы cgminer и ей подобных (sgminer, vertminer), для тех, у кого ферма на Windows. Конечно, возможно, сейчас эта информация не является актуальной, т.к. майнить на видеокартах уже не выгодно. Но мало ли. Думаю, многие сталкивались с вот этой ошибкой: Решения, которые я встречал в интернете, не очень меня радовали. Некоторые ставили рестарт программы каждые несколько минут. Во-первых, зачем программу зря лишний раз дергать, во-вторых, а если программа затупит в первые же секунды запуска? Тогда будет простой до следующего рестарта. Значит нужно, чтобы программа сама перезапускалась после вывода ошибки. Очень часто эта ошибка вылазиет после слета драйверов. Бывает и так, что драйвера не восстанавливаются без перезагрузки компьютера. Значит, с ними тоже нужно будет что-то делать. И так, нам понадобится программа X-starter (http://www.xstarter.com/rus/) и программа Devcon (http://www.raymond.pro/poleznye-programmy/skriptovanie/rabota-s-ustrojstvami-iz-komandnoj-stroki-devcon-exe-x64) . X-starter – это что-то типа планировщика Windows, но с более широкими функциями. Да и удобнее по-моему. Devcon мы будем использовать лишь для перезапуска драйверов видеокарт. Теперь по порядку. Начнем с того, что настройки программы cgminer я прописываю не в самом bat-файле, а в файле с расширением «.conf». Мне так удобнее, но вам так делать необязательно. Объясню немного лишь для того, чтобы не возникло недопониманий. Создаем conf-файл с любым именем, например cgminer.conf. Настройки в conf-файле выглядят примерно так: После этого в bat-файле нужно будет лишь написать следующее: Как я уже сказал, использовать conf-файл необязательно. Он лишь разгружает bat-файл от «лишних» строк. Чтобы каждый раз после вылета программы не перезапускать драйвера видеокарты, предлагаю настроить X-starter сразу на два случая: Когда программа выдает ошибку сама по себе; Когда программа выдает ошибку из-за слета драйверов. 1) Качаем, устанавливаем x-starter. Запускаем. Жмем Файл->Настройки. Убедитесь, что у вас стоит запуск программы при запуске Windows. Жмем ОК. На панеле вверху жмем «Задачи»->Новая задача. Смотрим скрин ниже. Вместо «Задача1» можете написать любое угодное вам имя. Там где написано «Запустить задачу» выбираем «По событию», далее, там где написано «Событие» выбираем Запуск/остановка процесса. Имя процесса пишем сами WerFault.exe Из трех нижних пунктов ставим точку на «Запуск». Далее, выбираем вкладку «Действия», жмем на зеленый плюсик наверху (добавить действие). Выбираем тип действия слева «Запуск программы» и указываем путь к нашему bat-файлу. Путь и имя bat-файла у вас, естественно, свои, не такие, как на скрине. Жмем ОК. Ну вот и все. Теперь, когда программа выдаст ошибку, X-starter запустит ваш бат-файл, который, в свою очередь перезапустит вашу программу. 2) Если все же необходимо перезапустить драйвера? Для начала, вам нужно скачать программу Devcon. Устанавливать ее не надо. Кидаем единственный файл devcon.exe в папку с cgminer.exe. Нам понадобится ID вашей видеокарты. Для этого правой кнопкой мыши щелкаем по Мой компьютер->Управление->Диспетчер устройств. Выбираем Видеоадаптеры. Щелкаем правой кнопкой по видиокарте->свойства->сведения. Вместо Описания устройства выбираем ID устройства. Смотрим скриншот: Т.е., из скриншота мы видим, что имя нашей видеокарты будет VEN_1002*DEV_6798 (у вас будет другое, это имя моей видеокарты). Если у вас несколько видеокарт, то имя нужно будет выписать для каждой. Однако, если у вас видеокарты одной серии, то вероятно, этот ИД будет одинаков у всех, у меня именно так. Т.е., программа Devcon перезапускает по этому ИД сразу 2 моих видеокарты. Это, в принципе, даже удобно. Создаем дополнительный батфайл. Назовем его, к примеру cgminerDriver.bat Смотрим скрин: Создаем новую задачу в Xstarter: Там где написано «Запустить задачу» выбираем «По событию». Где «Событие» выбираем «Событие NT». Где «Источник» выбираем HardwareEvents. Где «Тип события» - Information. Галочка на «Все типы событий». Где «Сообщение содержит» пишем «видеодрайвер» (Если у вас, конечно, винда на русском. «Видеодрайвер» пишем без кавычек!) Далее, выбираем вкладку «Действия», жмем на зеленый плюсик наверху (добавить действие). Выбираем тип действия слева «Запуск программы» и указываем путь к нашему НОВОМУ bat-файлу. Путь и имя bat-файла у вас, естественно, свои, не такие, как на скрине. Жмем ОК. Если вдруг кто решит копейку подкинуть (мало ли): Биток:1F4zKyzBFdaYnTJmCdrFog1LUzQodumdW Лайток: LZqvv2W1MA7hgqbzuCeLQGPAd11eFgdr1a Верт: VeAuDeHL5eeBksxZ89WWpThR6TSHtvrW9e
- 7 ответов
-
1
-
- cgminer sgminer
- vertminer
- (и ещё 5 )