- Регистрация
- 04.03.2011
- Сообщения
- 4 450
- Благодарностей
- 1 885
- Баллы
- 113
Всем привет!
Многие активные пользователи программы сталкивались с такой проблемой - запустил программу, настроил задачи и пошел отдыхать с мыслями о том, что программа сама всё сделает и утром Вы проснётесь и будете любоваться результатом. Но утром оказывается, что программа поработала час-два и решила, что она тоже хочет отдохнуть и вырубилась. В итоге ночь простоя сервака, прокси, недовольные заказчики или же просто личное расстройство.
Как же быть в этой ситуации?
А решение проблемы достоточно простое.
Для её решения нам понадобится 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
Здесь мы создаём задание
, указываем его имя, описание, выбираем учетную запись, обладающую правами администратори и устанавливаем галку Выполнить с наивысшими правами.
Настраиваем Тригер
Выбираем порядок запуска - ежедневно, в определённые дни недели, дни месяца, настраиваем дополнительные параметры
Отложить на - выбирается время, через которое планировщик запустится в первы раз.
Повторять задачу каждые - выбираем нужные промежуток времени.
В течение - выбираем сколько будет работать планировщик, или же Бесконечно, чтобы он не отключался.
И ставим галку Включено.
Настраиваем Действия
Выбираем запуск программы и указываем путь к созданному батнику.
После выполнения всех настроек нажимаем на Ок и планировщик приступит к своей работе. После этого Вы уже точно сможете запустить проекты, настроить их выполнение и идти развлекаться.
Данное решение особенно актуально, если программа у Вас работает на сервере и у Вас нет времени или возможности постоянно мониторить что там происходит и работает ли программа.
Многие активные пользователи программы сталкивались с такой проблемой - запустил программу, настроил задачи и пошел отдыхать с мыслями о том, что программа сама всё сделает и утром Вы проснётесь и будете любоваться результатом. Но утром оказывается, что программа поработала час-два и решила, что она тоже хочет отдохнуть и вырубилась. В итоге ночь простоя сервака, прокси, недовольные заказчики или же просто личное расстройство.
Как же быть в этой ситуации?
А решение проблемы достоточно простое.
Для её решения нам понадобится 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 или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.