Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron-Планировщик с поддержкой скриптового языка

Автор: volodyalipkin
Дата сообщения: 14.02.2004 02:52
strauss
Спасибо. Или я что-то не так исправил ....

Задача

#( tv-notify
AsLoggedUser
Time: 48
: tv S" http://tvs.regnet.ru/intl/ru/docs/" ;
Rule:
ONLINE?
IF
HTTP-CHANGED: %tv%
THEN
Action:
MSG: "TVS changed"

породила запись в log файле

16:48:30 180 tv-notify: Rule: stack error.
Автор: strauss
Дата сообщения: 14.02.2004 10:42
volodyalipkin

думаю, эта задача ничего "лишнего" не будет писать в лог, если ты добавишь к ней знак ее окончания: ')#'.

А Rule сделаешь в соответствии с доками (Если использовать DUP, то надо добавить DROP):

ONLINE? DUP
IF
DROP
HTTP-CHANGED: %tv%
THEN

CU
VK
Автор: volodyalipkin
Дата сообщения: 14.02.2004 20:57
strauss
)# стояло. Пробуем другой вариант


#( z
NoActive
: tv S" http://tvs.regnet.ru/intl/ru/docs/" ;
Action:
HTTP-CHANGED: %tv%
IF
MSG: "OK"
ELSE
MSG: "NO"
THEN

HTTP-LM: "http://tvs.regnet.ru/intl/ru/docs/" 0=
IF
2DUP
\ выводим сообщение на консоль
TYPE CR
\ выводим сообщение с той же датой
MsgBox
ELSE
2DROP
MSG: "Error in http-response"
THEN

)#


Получаем "NO" и ничего не пишется в htime.txt , вторая часть работает правильно.
Автор: strauss
Дата сообщения: 14.02.2004 21:14
volodyalipkin

работающий вариант я тебе прислал в предыдущем сообщении. он тебя чем-то не устраивает?

CU
VK
Автор: volodyalipkin
Дата сообщения: 14.02.2004 22:44
strauss
Проблема понята. Всё работает правильно и даже лучше чем предполагалось. Непонятки были в том, при замене/удалении (руками) сгенерированного файла, nnCron помнил внутри себя правильное время и ничего не менял/не создавал. При перезапуске nnCron всё отработало правильно.
Спасибо.
Автор: AnotherDay
Дата сообщения: 15.02.2004 17:38
Странная проблема.
Если было использованно сообщение типа BALLOON , то после смены пользователя (даже по прошествии длительного времени) в win2000 , оно всплывает заново. При чем в логах nnCron ничего, о повторном срабатывании задачи нет, т.е. повторяется только сообщение BALLOON.
Это только у меня?
Автор: nevuser
Дата сообщения: 16.02.2004 19:46
AnotherDay
Согласен, у меня то же самое. Стоит Win2000 SP4 и последняя beta nnCron.
Автор: dgur
Дата сообщения: 17.02.2004 08:58
Каким образом можно отследить состояние кнопки.

т.е. Есть приложение, выполняющее длительную операцию.
Пока операция выполняется кнопка OK неактивна.

Как операция заканчивается - кнопка ОК становится активна и ее можно нажимать.

Необходимо дождаться этого события и нажать.
Автор: NULL
Дата сообщения: 20.02.2004 05:52
Помогите реализовать авто-ренейм..
вот недавно подсел на этот замечательный продукт..
Впорос.
Есть прайс имя которого содержит еще и текущую дату.
[code]
#( Price_RENAME
Time: * * * * * *
Action:
FILE-RENAME: "c:\ Прайс от 19.02.2004.doc " "c:\Прайс от %DD%.%MM%.%YYYY%.doc"
)#
[code]
Мне нужно дописать в скриптик, чтобы имя файла проверялось - ведь оно содержит в себе вчерашнюю дату, например: Прайс от 19.02.2004.doc и если он его нашел, сразу же переименовал в том же формате но с текущей датой, например: Прайс от 20.02.2004.doc
Как можно организовать в имени эту проверку??? Возможно, есть другие подходы?!..

С уважением Игорь.
Автор: volodyalipkin
Дата сообщения: 20.02.2004 08:37
NULL

Сильно поможет пример из документации:

#( test_re_match
\ с помощью регулярного выражения находим в
\ каталоге 'c:\xxx' все файлы, начинающиеся с
\ букв 'vk_' и следующих за ними трех цифр,
\ например, 'vk_123test.txt', 'vk_324.gif', vk_647999.pdf' и т. д.
NoActive
Action:
FOR-FILES: "c:\xxx\*"
RE-MATCH: "%FOUND-FILENAME%" "/vk_\d\d\d.*/i"
IF
\ ... выполняем работу
THEN
;FOR-FILES
)#


Цитата:
Time: * * * * * *
Это я надеюсь, шутка?
Автор: Nicka_Grey
Дата сообщения: 20.02.2004 12:04
1.89rc5 (19.Feb.04)
* новая переменная nncron.ini TrayIconBalloonClick: <word> и новая пользовательская переменная OnBalloonClick;
* исправлена ошибка с потерей рабочего каталога;
* исправлена ошибка с повторным появлением подсказки balloon после logoff/logon;
* усовершенствован plugin http.spf;
* исправления других найденных ошибок;
Автор: volodyalipkin
Дата сообщения: 20.02.2004 18:59
strauss
Образовалась проблема (или это фича?)
Есть две задачи, которые следят за изменением одной и той же страницы. Одна работает раз в час, вторая раз в день. Отработала первая, поймала изменеие. После этого вторая задача считает, что сайт не изменился. Т.к. в файле htime.txt и внутри nnCron для этого сайта изменено время последнего изменения. Другими словами, хотелось бы иметь возможность хранить время измениния привязанное к задаче. Что-то типа
HTTP-CHANGED: %url% FOR-ALL
где FOR-ALL = TRUE или FALSE
Автор: strauss
Дата сообщения: 21.02.2004 12:07
NULL

Для этой цели служит слово DAY+ (см. доки). Вот пример из RU.NNCRON:

AM> Hарисуйте, как открыть файл, который был создан 2 дня назад, зная
AM> что имя файла содержит дату (userlist-20030925-next.txt)
AM> т.е. необходимо, например 25-го числа открыть файл за 23-е число, т.е.
AM> userlist-20030923-next.txt

#( test_filename
NoActive
0 VALUE TF_DAY
0 VALUE TF_MONTH
0 VALUE TF_YEAR
Action:
\ текущая дата:
Year@ Mon@ Day@
\ отнимаем три дня:
-3 DAY+
\ сохраняем результат:
TO TF_DAY
TO TF_MONTH
TO TF_YEAR
\ выводим на экран:
MSG: "userlist-%TF_YEAR%%TF_MONTH S>D <# # # #>%%TF_DAY S>D <# # # #>%-next.txt"
)#


Добавлено
volodyalipkin

думаю, проще в задаче, которая запускается чаще выкидывать флаг, который будет свидетельствовать о том, что страница изменилась. А вторая задача может работать по такой логике: проверила страницу, если изменений нет - проверила флаг.
Автор: volodyalipkin
Дата сообщения: 21.02.2004 20:04
strauss
Спасибо. Принято. Такой способ и использую.
Ещё вопрос/предложение:
Нельзя ли получить размер страницы, не закачивая её? (Имеется страница в нижней части которой есть строчка - комментариев ХХ. Хотелось бы отлавливать реальное изменение страницы, а не только числа комментариев. Размер страницы был бы очень кстати)
Автор: AnotherDay
Дата сообщения: 04.03.2004 23:02
2 strauss
1 не знаешь, рассматривался ли вариант отображения задач в меню "редактировать" и "выполнить задачу" в виде разделения по вложенным меню для каждого кронтаб файла? Мне кажется так на много удобнее найти нужную задачу если их стало уже много..
2 Что по поводу бага при использовании BALLOON (см выше от 15.02)?
Автор: volodyalipkin
Дата сообщения: 05.03.2004 00:52

nnCron 1.89 RC6 (build 990)
is available for download.

Changes:

* appearance of nncron.log after execution of an oneliner bug fixed;
* combined usage of WatchHotKey:, Rule: and non-US kbd layout bug
fixed;
* default value of MonitorResponseTime is changed to 100 ms.
* other bugfixes;

Complete list of changes

Автор: strauss
Дата сообщения: 05.03.2004 09:59
AnotherDay

1) Рассматривается. Планируется в одной из след. версий.
2) Исправлено в рц5. (Ты анонсы читаешь?)

CU
VK
Автор: No_48
Дата сообщения: 15.03.2004 09:54
Многоуважаемый All! Поделись мудростью

Есть задача:
- необходимо при создании файла в заданной директории создавать с таким же именем как у файла директорию и переносить туда этот файл.

...и частичное её решение:

#( Сортировка_файлов
WatchFile: "C:\temp\*.log"
Action:
FOR-FILES: "C:\temp\*.log"
FILE-EXIST: "C:\End\%FOUND-FILENAME%\%FOUND-FILENAME%"
DIR-CREATE: "C:\End\%FOUND-FILENAME%"
GET-CUR-TIME
CASE
0 OF FILE-MOVE: "C:\temp\%FOUND-FILENAME%" "C:\End\%FOUND-FILENAME%" ENDOF
DUP OF FILE-MOVE: "C:\temp\%FOUND-FILENAME%" "C:\End\%FOUND-FILENAME%\%DD%-%MMM% %hh%-%mm%-%ss% %FOUND-FILENAME%" ENDOF
ENDCASE
;FOR-FILES
)#

Почему частичное? Потому, что директория создаётся такая же, как и имя файла! Т.е. ****.log, а это не совсем красиво выглядит...
Подскажите как можно удалить последние 4 символа в имени директории, а при совпадении имён, переписывать в более старую содержание более новой директории.

Заранее огромное сеньку всем откликнувшимся!
Автор: NULL
Дата сообщения: 17.03.2004 07:12
Пиплы.. помогите!

что бы такое написать, чтобы Крон увидав запуск какого-нить приложеница, скопировал Винь Хэндл ?? и я его затем вставил в др. задачу... Например. Хочется мне поуправлять Винь Амп, назначая ему старты, стопы в разное время.. но при перезагрузке Хэндл же меняется.. хотелось бы это дело автоматизировать!.. потому как в документации вижу только как дату ложат на стек - что угодно.. «выяснив Window Handle нужного окна».. а вот как бы его отловить, по заголовку окна или имени процесса как угодно.. Надеюсь это можно сделать!

Автор: 4get
Дата сообщения: 17.03.2004 08:05
NULL и про хендл тоже раздел есть
http://www.nncron.ru/help/RU/commands/windows.htm#note
Автор: NULL
Дата сообщения: 18.03.2004 14:01
читал.. т.е. вот этой строкой???
WIN-SET-TITLE: "%GetForegroundWindow%" "new_title"

(если да.. то сразу скажу.. что туплю, так как не могу при помощи этого сделать задуманное.. как дальше перенаправить хэндл в др. место.. )
ну вот на конкретном примере..

Код:
#( MP5_play
NoLog
Time: 15 10 * * * *
Action:
0 40045 273 хэндл SendMessageA DROP
100 MIXER-VOLUME!
)#
Автор: strauss
Дата сообщения: 18.03.2004 21:00
NULL

Для "стартов" и "стопов" Winamp есть спец. плагин - winamp.spf. Рекомендую!

No_48

Это легко делается с помощью оегулярных выражений. Почитай главу док "Поддержка регулярных выражений". Кстати, недавно в RU.NNCRON проходил похожий пример.
Автор: 4get
Дата сообщения: 19.03.2004 01:05
NULL
Цитата:
читал.. т.е. вот этой строкой???
WIN-SET-TITLE: "%GetForegroundWindow%" "new_title"

дело не в Форте - ты, когда первый раз спрашивал, непонятно было - программировал ли ты под Windows вообще..а предупреждать надо :)

вот вопрос
Цитата:
но при перезагрузке Хэндл же меняется.. хотелось бы это дело автоматизировать!
..
«выяснив Window Handle нужного окна».. а вот как бы его отловить, по заголовку окна или имени процесса как угодно


вот ответ: http://www.nncron.ru/help/RU/commands/windows.htm#note
Цитата:
Примечание: после большинства "оконных" команд (а также WIN-EXIST:) USER-VALUE переменная WIN-HWND содержит window handle соответствующего окна, а переменная %FOUND-WINDOW% - заголовок этого окна. (%WIN-TITLE% является синонимом %FOUND-WINDOW%).


и дальше уточнение с каким параметром работает WIN-EXIST: -
Цитата:
win_pattern - это маски заголовка окна или класса окна. Задавая маску заголовка окна можно применять символы * и ? или регулярные выражения, заключив их в прямые слеши: /<regexp>/. Также в win_pattern можно использовать window handle нужного окна (и в десятичном, и в шестнадцатеричном представлении). Класс, точный заголовок и window handle нужного окна можно узнать с помощью утилиты WinSpy.


хендл не годится, заголовок винампа меняется вместе с версией, остается класс .. класс у главного окна винампа - Winamp v1.x

Код: WIN-EXIST: "Winamp v1.x"
IF
0 40045 273 WIN-HWND SendMessageA DROP
THEN
Автор: NULL
Дата сообщения: 19.03.2004 01:35
strauss


Цитата:

Для "стартов" и "стопов" Winamp есть спец. плагин - winamp.spf. Рекомендую!

да с этим все понятно.. я хотел хэндл автоматом узнавать!!. .спасибо за это 4get
оч. помог..

Цитата:
переменная WIN-HWND содержит window handle соответствующего окна

я блин не внимателен..
все работает..

эх нужно будет получше изучить все прелести Крона.. эт такая СИЛА..
Автор: volodyalipkin
Дата сообщения: 20.03.2004 20:30
Можно ли сделать так, чтобы log файл открывался одной программой (viewer-ом), а nnCron.tab - другой (editor-ом)?
Автор: albel
Дата сообщения: 20.03.2004 22:14
подскажите чайнику
фтп-сервер пишет лог-файлы в формате ftp-01-мар-2004.log
Как проще найти файл за предыдущий день (проблема возникает, когда есть переход на след. месяц, т.к. предыдущий файл будет иметь формат ftp-28-фев-2004.log), чтобы произвести с ним некие действия?
Автор: volodyalipkin
Дата сообщения: 21.03.2004 02:44
albel

Цитата:
ftp-01-мар-2004.log
Как проще найти файл за предыдущий день (проблема возникает, когда есть переход на след. месяц, т.к. предыдущий файл будет иметь формат ftp-28-фев-2004.log


Предыдущий будет ftp-29-фев-2004.log

Можно использовать

DAY+ ( y m d days -- y1 m1 d1 )

Это слово позволяет "добавить" или "отнять" произвольное количество дней у даты, указанной в формате YMD и получить результат в этом же формате, с учетом количества дней в месяце и количества месяцев в году.

Для преобразования вышеуказанного формата log файлов в YMD, можно использовать regexp



Автор: CUrve
Дата сообщения: 06.04.2004 23:46
Скажите, а как работать со списком файлов поочереди?
Точнее мне надо переименовывать все файлы в директории по их дате - есть фаил nnn.txt, а мне надо что бы он был назван по дате создания (2004 апрель 06 - 12 часов 10 минут.txt) скажите пожалуйста.
Автор: volodyalipkin
Дата сообщения: 07.04.2004 07:00
CUrve
FOR-FILES: "path\mask" <...> ;FOR-FILES
Автор: Kuugle
Дата сообщения: 07.04.2004 16:58
Народ, а он на 2003 сервере идёт?
Конкретно интересует появление иконки в трее.
В сервисах он появляется и его можно запустить и остановить.
А иконки в трее нет вообще....
С этого же дистрибутива установлен на XP - всё ок.
Регистрация для некоммерческого использования..

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Как писать кириллицей, а НЕ латиницей (транслитом)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.