19.12.2014

Автоматическая реанимация Zennoposter после падения или здравствуй здоровый сон

ВНИМАНИЕ!!!

Мы принимаем участие в конкурсе статей от Zennolab с данной статьей и просим всех наших клиентов проголосовать за нас.

Для голосования у вас должен быть куплен Zennoposter, Proxy Checker или CapMonster и у вас должен быть статус Клиент на форуме Zennolab

Если у вас еще нет данного статуса на форуме Zennolab но вы купили любой из вышеперечисленных продуктов то напишите на почту

[email protected] с почту с указанием имейла вашей лицензии.

 

Всех проголосовавших за нас ждет приятный бонус, что бы его получить пришлите письмо на [email protected] с темой "Хочу Бонус"

Заберите свою награду до 31.12.2014

 

Название нашей статьи "Реанимация Zennoposter после падения или здравствуй здоровый сон"

http://zennolab.com/discussion/threads/golosovanie.17318/

 

Многие активные пользователи программы сталкивались с такой проблемой - запустил программу, настроил задачи и пошел отдыхать с мыслями о том, что программа сама всё сделает и утром Вы проснётесь и будете любоваться результатом. Но утром оказывается, что программа поработала час-два и решила, что она тоже хочет отдохнуть и вырубилась. В итоге ночь простоя сервака, прокси, недовольные заказчики или же просто личное расстройство.

Как же быть в этой ситуации?

А решение проблемы достоточно простое.
Для её решения нам понадобится BAT файл с таким содержанием

@echo off

SETLOCAL EnableExtensions
set EXE=ZennoPoster.exe
FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto FOUND
echo Not running
:: Указываем полный путь к файлу Zennoposter.exe
start "" "C:\Program Files (x86)\ZennoLab\ZennoPoster Pro\Progs\ZennoPoster.exe" -screen 0 -clipboard -multiwindow
exit 0
:FOUND
echo Running

:: указываем полный путь к файлу, по которому будут проверяться последние изменения
set "file=D:\search.log"
:: Устанавливаем необходимый интервал в секундах
:: (5 часов = 18000 секунд):
set diff=18000
for %%i in ("%file%") do (
for /f "tokens=1,2" %%j in ("%%~ti") do (
for /f %%l in ('
mshta "vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(DateDiff("s","%%j"+Chr(32)+"%%k",now))&Close()"
') do (
:: Проверяем, прошло ли установленное время после последнего изменения файла
if %%l gtr %diff% (
taskkill /f /im "ZennoPoster.exe"
start "" "C:\Program Files (x86)\ZennoLab\ZennoPoster Pro\Progs\ZennoPoster.exe" -screen 0 -clipboard -multiwindow )
)
)
)
exit 0

Что делает этот батник?
Он проверяет - есть ли у нас в активных процессах Zennoposter.exe, если процесс найден, батник завершает своё выполнение, если же его нет, батник запускает программу.
Кроме того, проверяется время между последним изменением файла и укзанным в настройках батника. Если прошло установленное время, а файл не изменился, батник убивает зенку в процессах и перезапускает её заново.
Для чего это нужно?
К примеру, батник запустился, проверил, что программа запущена...Но! Бывают такие ситуации, когда в силу неправильной логики шаблона, он может зависнуть, или же просто упадёт инстанс и логика будет крутиться на неудачном выходе, что требует уже стороннего вмешательства, т.е. прервать шаблон, или же перезапустить программу. Для этого Вы можете указать путь к файлу, который обязательно будет изменяться шаблоном при правильном его выполнении и не будет изменяться при возникновении ошибок, батник проверит, что файл не менялся в течении установленного времени и перезапустит программу.


После того, как мы создали BAT файл, необходим инструмент, который, собственно, будет периодически запускать наш батник. И этим инструментом является стандартный Планировщик заданий, который можно найти по пути Панель управления - Администрирование - Планировщик заданий, или C:\Windows\system32\taskschd.msc

Здесь мы создаём задание , указываем его имя, описание, выбираем учетную запись, обладающую правами администратори и устанавливаем галку Выполнить с наивысшими правами.

Настраиваем Тригер

Выбираем порядок запуска - ежедневно, в определённые дни недели, дни месяца, настраиваем дополнительные параметры
Отложить на - выбирается время, через которое планировщик запустится в первы раз.
Повторять задачу каждые - выбираем нужные промежуток времени.
В течение - выбираем сколько будет работать планировщик, или же Бесконечно, чтобы он не отключался.
И ставим галку Включено.

Настраиваем Действия

Выбираем запуск программы и указываем путь к созданному батнику.

После выполнения всех настроек нажимаем на Ок и планировщик приступит к своей работе. Поздравляем у вас все получилось!

Пришла пора расслабиться и забыть о любых проблемах со стабильностью работы Zennoposter.

comments powered by Disqus