Работа Крон в зависимости от значений в логе другой програм

Обсуждение программ nnCron и nnCron LITE

Работа Крон в зависимости от значений в логе другой програм

Postby digi503 » Fri, 14 Mar 2014, 17:08

Подскажите как реализовать данное действие?
Имеем nnCron и программу которую он запускает. Программа запускаемая Кроном пишет свой собственный лог файл в формате txt. Необходимо сделать так, чтобы Крон просматривал этот log.txt и при обнаружении несоответствия изначально записанным требованиям отправлял программу на перезапуск с небольшой паузой.
Видится этот процесс так:
указываем Крону за каким значением (или несколькими значениями) следить, например значение "download *********from11" (где **** любой текст или значение которые игнорируются) и запускаем программу. Программа пишет следующий лог
11:15 programm starts
11:16 downloading ******* 1from18
11:16 uploading ******* 1from18
11:19 downloading ******* 2from18
11:19 uploading ******* 2from18
11:23 downloading ******* 3from18
11:23 uploading ******* 3from18
11:28 downloading ******* 4from11 - (это наше значение указанное для перезапуска)
11:30 программа "KILL", PAUSE перед повторным запуском 2 секунды
11:32 programm starts
11:35 download ******* 4from18
и т.д.
digi503
 
Posts: 1
Joined: Fri, 14 Mar 2014, 16:32

Re: Работа Крон в зависимости от значений в логе другой прог

Postby VoidVolker » Fri, 14 Mar 2014, 20:32

Code: Select all
#( Задача_212614032014
SingleInstance
WatchFile: "C:\path\file.txt"
Action:
S" C:\path\file.txt" FILE S" /.*download.*?from11.*/" RE-MATCH IF
    S" programm.exe" KILL
    S" C:\path\file.txt" FDELETE
    2000 PAUSE
    S" programm.exe" START-APP
THEN
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Digi502 » Fri, 14 Mar 2014, 21:52

Спасибо за ответ.
Подскажите пожалуйста еще как реализовать такие же действия, но при условии, что известно только текущее значение, а при наступлении любого другого происходила бы перезагрузка.
11:15 programm starts
11:16 downloading ******* 1from18
11:16 uploading ******* 1from18
11:19 downloading ******* 2from18
11:19 uploading ******* 2from18
11:23 downloading ******* 3from18
11:23 uploading ******* 3from18
11:28 downloading ******* 4from11 - (это возможное значение)
11:30 программа "KILL", PAUSE перед повторным запуском 2 секунды
11:32 programm starts
11:35 download ******* 4from18
и т.д.

Имеется ввиду когдо "download *******from18" известно, при наступлении любого другого значения отличного от "download *******from18" происходил бы перезапуск.
Digi502
 
Posts: 12
Joined: Tue, 11 Mar 2014, 22:14

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Morituruz » Fri, 14 Mar 2014, 22:04

VoidVolker
У меня есть подобная штука для отслеживания сообщений о внутренних ошибках в логе nncron.
Вы наступили на те же грабли, что и я вначале :D, т.е. как только в логе появится искомая строчка, задача начнёт срабатывать непрерывно, пока ей по голове не дашь.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Работа Крон в зависимости от значений в логе другой прог

Postby VoidVolker » Fri, 14 Mar 2014, 22:12

В условиях задачи не было "не наступать на грабли" =) А вообще, достаточно просто удалить лог.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Digi502 » Fri, 14 Mar 2014, 22:32

лог перезаписывается после каждого запуска программы.
необходимо чтобы перезапуск осуществлялся при любом значении отличного от шаблона.
Digi502
 
Posts: 12
Joined: Tue, 11 Mar 2014, 22:14

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Digi502 » Sat, 15 Mar 2014, 20:48

VoidVolker wrote:
Code: Select all
#( Задача_212614032014
SingleInstance
WatchFile: "C:\path\file.txt"
Action:
S" C:\path\file.txt" FILE S" /*download.*?from11*/" RE-MATCH IF
    S" programm.exe" KILL
    S" C:\path\file.txt" FDELETE
    2000 PAUSE
    S" programm.exe" START-APP
THEN
)#


Попробовал, но не заработало. :( значение появляется влоге, а программа не перезапускается.
Digi502
 
Posts: 12
Joined: Tue, 11 Mar 2014, 22:14

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Morituruz » Sat, 15 Mar 2014, 21:10

«Если у вас есть проблема, и вы хотите решить её с помощью регулярных выражений, значит у вас теперь две проблемы»©
Регэксп какой-то странный, первый астериск ни к чему не приставлен.
Попробуйте этот:
Code: Select all
S" /download.*?from11.*/"


Проверять лучше так: открыть Инструменты — Консоль, и там подбирать так:
Code: Select all
S" C:\path\file.txt" FILE S" /download.*?from11.*/" RE-MATCH .

последняя точка — печать результата RE-MATCH на консоль, т.е. 0, если ничего не нашлось.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Работа Крон в зависимости от значений в логе другой прог

Postby VoidVolker » Sat, 15 Mar 2014, 21:43

Ааа, пардон, потерялись точки в регекспе. Поправил, вот так должно было быть:
Code: Select all
/.*download.*?from11.*/
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Digi502 » Tue, 18 Mar 2014, 11:28

Почему-то не работает... Крон ничего не убивает и соответственно не перезапускает. Пробовал вносить изменения указанные в крайнем посте, но не помогло.
Digi502
 
Posts: 12
Joined: Tue, 11 Mar 2014, 22:14

Re: Работа Крон в зависимости от значений в логе другой прог

Postby VoidVolker » Tue, 18 Mar 2014, 15:34

Задача не запускается или регулярное выражение не срабатывает? У меня все работает.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Digi502 » Mon, 24 Mar 2014, 21:10

Подскажите пожалуйста как реализовать работу данного алгоритма следующим образом?
имеется лог программы
запуск Крона
11:15 programm starts
11:16 downloading ******* 1from18
11:16 uploading ******* 1from18
11:19 downloading ******* 2from18
11:19 uploading ******* 2from18
11:23 downloading ******* 3from18
11:23 uploading ******* 3from18
11:28 downloading ******* 4from11 - (произошло изменение в значении)
11:30 программа "KILL", PAUSE перед повторным запуском 2 секунды
11:32 programm starts
11:35 download ******* 4from18
и т.д.

Перезапуск осуществлять при условии смены значения *from18* в строке шаблона "download *******from18" на любое другое значение

Спасибо
Digi502
 
Posts: 12
Joined: Tue, 11 Mar 2014, 22:14

Re: Работа Крон в зависимости от значений в логе другой прог

Postby SeMa » Wed, 26 Mar 2014, 15:52

Похоже на интеллектуально продвинутый бот :( .
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Re: Работа Крон в зависимости от значений в логе другой прог

Postby Digi502 » Thu, 27 Mar 2014, 17:43

Так поможет кто-нибудь??? :(
Digi502
 
Posts: 12
Joined: Tue, 11 Mar 2014, 22:14

Re: Работа Крон в зависимости от значений в логе другой прог

Postby SeMa » Thu, 27 Mar 2014, 19:09

Digi502 wrote:Так поможет кто-нибудь??? :(

1) смотрите лог крона. Может, там вообще нет запуска задачи? Если есть, то
2) не срабатывает регулярка..
Если текст задачи приведён полностью, то возникает 2 вопроса-сомнения:
3) program.exe в этом виде (без пути) должна запускаться?
4) может, для запуска program.exe нужна авторизация?
Добавьте после START-APP
Code: Select all
ExitCodeProc 0 <> IF ExitCodeProc N>S HINT THEN
В хинте будет код завершения приложения. Расшифровка в SPF.ERR.
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
SeMa
 
Posts: 637
Joined: Fri, 15 Apr 2005, 12:49
Location: Украина

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron