Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron-Планировщик с поддержкой скриптового языка

Модерирует : gyra, Maz

Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.  
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - http://www.nncron.ru/forums/viewforum.php?f=11
форум - http://www.nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: http://www.nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:  
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)  
 
документация:  
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)  
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)  
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)  
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.  
* » Cтатья Валерия Кондакова про возможности nnCron  
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа
 

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 23:26 27-04-2002 | Исправлено: lucky_Luk, 18:16 22-09-2007
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sizif73
Цитата:
загнать курсор в какой нибуть угол или определенную точку экрана и это запускает задачу
 В шапке задачи проверяешь на отсутствие процесса который собрался запускать, а в теле задачи запускаешь цикл с проверкой через MOUSE-POS текущего положения мыши, если там где надо то запускаешь приложение и выходишь из задачи, если не там, то делаешь паузу на n секунд, после чего снова идет проверка.
ZEWS
Цитата:
Блин, ну как она работает ...
  В примере из Help'а замени имя процесса на имя своего процесса и все. Можно еще после завершения процесса, для надежности, добавить строку с "PAUSE: 1000".

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 09:44 10-08-2007
ZEWS



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DJ makrus
Извините пожалуйста Не совсем понял куда вообще добавлять этот код... В поле на вкладке "Дополнитено", добавить к тому что там уже прописано?

Всего записей: 2873 | Зарегистр. 25-02-2006 | Отправлено: 15:13 10-08-2007
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stygis

Цитата:
А индексированием занимается тот же процесс?

Да.
DJ makrus

Цитата:
Основная сфера применения - дождаться завершения загрузки программы...

Блин, стормозил.

Цитата:
используй PROC-WAIT-CPU-USAGE

Во время индексирования загрузка проца прыгает от 0 и выше.

Цитата:
в настройках указываешь что бы по окончании индексирования появлялось окошко с результатами индексирования

это окошко появляется, только если процесс индексирования запущен вручную. А если запускать планировщиком, то его нет.
 
Сейчас тестирую вариант с привязкой к существованию окна с прогрессом индексирования (оно всегда отображается).
 
 
Добавлено:
Получилось . Тестировалось на Архивариусе 3000 версии 3.82. Код задачи:

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 15:15 10-08-2007 | Исправлено: lucky_Luk, 17:24 10-08-2007
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky_Luk
Цитата:
Во время индексирования загрузка проца прыгает от 0 и выше.
если поиграть с параметрами PROC-WAIT-CPU-USAGE, то скорее всего можно будет достаточно точно определять окончание индексирования, тем более если перед этим словом поставить паузу, ну, к примеру, на минуту-другую    
 
ZEWS
Цитата:
Не совсем понял куда вообще добавлять этот код...
можно и на вкладке "Дополнительно", но лучше сразу привыкать к хорошему: в Notepad'е открываешь кронтаб-файл, он скорее всего в папке с nnCron'ом, и находишь свою задачу, затем приводишь ее к виду как в Help'е.
Если и после этого не получается, то скопируй свою задачу от символов #( до символов )# и здесь запости, здесь же тебе покажут как она должна выглядеть, ты ее скопируешь и вставишь вместо той которую тут постил.

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 16:32 10-08-2007
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
тем более если перед этим словом поставить паузу, ну, к примеру, на минуту-другую

ИМХО если нужно паузу ставить, то проще влепить паузу минут на 10 (за это время индексирования успевает закончиться) после запуска Архивариуса 3000, а потом юзать PROC-CLOSE:

Цитата:
от символов #( до символов )#

Я как-то вручную писал задачу и забыл в начале поставить #, ох и матюгался сабж - на каждую строку выдавал что-то про CLASSIC-TASK и какие-то ошибки в спецификации времени. Я задачу и так, и сяк просматривал, только потом допер, что CLASSIC-TASK это классический режим задач сабжа .
 
Еще кое-что от меня - задачи для установки активного окна поверх остальных окон и снятия этой опции по хоткею. Вроде прог для этого хватает, но nnCron и тут всех делает - такой фокус у него срабатывает практически со всеми окнами - дочерними, диалоговыми и пр., не получилось только с окном виртуальной машины в M$ Virtual PC 2007. Кроме того с nnCron можно выставлять 2 и больше окон поверх остальных - тогда они будут при активизации перекрывать друг-друга как обычно, но остальные окна всегда будут на заднем плане.
Подробнее...

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 17:30 10-08-2007 | Исправлено: lucky_Luk, 17:35 10-08-2007
ZEWS



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
DJ makrus
А ещё такой вопрос... у меня выгружается сразу 3 процесса по одному и тому же событию, все висят в трее... есть ли смысл прописывать каждому этот код, или можно только одному?

Всего записей: 2873 | Зарегистр. 25-02-2006 | Отправлено: 18:59 10-08-2007
Sizif73



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
запускаешь цикл с проверкой через MOUSE-POS

Понял, спасибо. Изучал сейчас Хелп и запутался через какую конструкцию цикл делать (или лучше/проще)
BEGIN <условие> WHILE <тело цикла> REPEAT
или
IF <условие> THEN <действие_если_TRUE> ELSE <действие_если_FALSE>
и еще
Цитата:
и выходишь из задачи
что, для этого нужна в этом случае отдельная команда?


----------
Я ленивый, но упрямый.

Всего записей: 3108 | Зарегистр. 22-03-2006 | Отправлено: 00:00 11-08-2007
Gospodd

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.
К специалистам-
Ребята подскажите у кого можно проконсультироваться по поводу игровых аппаратов (а точнее возможно ли умышленное проникновение в программу).
Буду рад помощи-заранее благодарен.
Игорь.





флуд

Всего записей: 2 | Зарегистр. 11-08-2007 | Отправлено: 03:02 11-08-2007 | Исправлено: Widok, 13:52 13-08-2007
5973785



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron сильно грузит систему, при чем нагрузка нарастает постепенно в плоть до того что сервер оказывается в полном дауне. Сейчас решил проблему поставив рестарт nncron`а раз в 10 часов но это не есть гут. Есть у кого нибуть соображения по этому поводу?
 
 
nncron.tab всего две задачи, одна выполняется раз в 10 минут другая раз в 24 часа, без скриптов простой запуск приложения с командной строкой.

Всего записей: 35 | Зарегистр. 17-01-2006 | Отправлено: 16:13 11-08-2007
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Настройка PerfMonitor в nncron.ini в каком состоянии? (насколько я помню, когда она ON, то начинает кушать ресурсы нехило)

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 17:21 11-08-2007
5973785



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PerfMonitor в OFF
 
nncron.ini дефолтный, я внем не чего не менял. Когда проявилась проблема сказать не могу, заметил проблему не так давно. OS Win2k3 SP2  

Всего записей: 35 | Зарегистр. 17-01-2006 | Отправлено: 22:12 11-08-2007 | Исправлено: 5973785, 22:14 11-08-2007
Nep



Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Gospodd
топиком ошибся

Всего записей: 41940 | Зарегистр. 24-06-2001 | Отправлено: 22:33 11-08-2007
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне нужно, чтобы задача не запускалась, если ее запуск попадает на временной интервал 23.30-01.30. Можно ли записать так?
 
Rule:
INTERVAL: 23:30-1:30 NOT
 
Как писать ноль часов, один час и пр. до 10 - одной цифрой или с ноликом спереди (без нолика вроде не ругается)?

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 14:39 13-08-2007 | Исправлено: lucky_Luk, 14:39 13-08-2007
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZEWS
Цитата:
у меня выгружается сразу 3 процесса по одному и тому же событию, все висят в трее... есть ли смысл прописывать каждому этот код, или можно только одному?
  Делай закрытие процессов в цикле, выходом из которого будет отсутствие процессов которые тебе надо закрыть, а после цикла делаешь очистку трея ранее указанным способом.
 
Sizif73
Цитата:
...через какую конструкцию цикл делать
цикл делать через цикл   , в справке специальный раздел по циклам. Как задача заработает - покажи ее (можно в ПМ) подскажу где и что поменять что бы было "лучше/проще"
Цитата:
...для этого нужна в этом случае отдельная команда?
все зависит от алгоритма конкретной задачи, в большинстве случаев не надо, но иногда необходимо, для выхода из слова (а каждая задача это тоже Форт-слово) используется слово EXIT, как им пользоваться см. Help.
 
5973785
Цитата:
nncron.tab всего две задачи, одна выполняется раз в 10 минут другая раз в 24 часа, без скриптов простой запуск приложения с командной строкой
они могут запускаться как ты написал, а работать "бесконечно", да еще и не в одном экземпляре..., самый простой способ - покажи задачи, а так гадать можно очень долго  

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 13:43 14-08-2007
Sizif73



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
цикл делать через цикл
намек понял
Слепил вот такую задачу

Цитата:
#( mouse_drive
AsLoggedUser
2VARIABLE mouse_pos \ Переменная для хранения целевой позиции мыши
Rule: PROC-EXIST: "ssbezier.scr" NOT  
Action:
BEEP: 200 3000
1023 0 mouse_pos 2! \ Координаты x и y цели  
    BEGIN
        PAUSE 100 \ пауза <тело цикла>  
        mouse_pos 2@ MOUSE-POS D= \ Сравниваем нынешнюю позицию и позицию цели <условие>
    UNTIL
SCREENSAVER-ON
)#
Пищалка поставлена естественно только для контроля запуска.
С задачей есть проблемы. Во первых она не мониторит постоянно, а включается раз в минуту и если запустил с ее помощью что собирался, то жди по крайней мере следущего запуска. Во вторых даже имея запущенную задачу (пишалка и лог) результат получаешь не всегда. Системы не обнаружил.

----------
Я ленивый, но упрямый.

Всего записей: 3108 | Зарегистр. 22-03-2006 | Отправлено: 19:18 16-08-2007 | Исправлено: Sizif73, 22:28 16-08-2007
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sizif73
Цитата:
...С задачей есть проблемы...
 1. В таком виде у тебя каждую минуту запускается новая задача даже если предыдущая не отработала - добавь SingleInstance  
  2. Что бы запустился скринсейвер, тебе надо мышкой попасть точно в нужный пиксель! То что этот пиксель расположен в углу экрана упрощает задачу, но все-таки, IMHO, лучше/легче попадать в небольшой участок, например, 5x5 пикселей. А что бы попробовать выяснить почему не срабатывает сейчас, то замени "mouse_pos 2@ MOUSE-POS D= \ Сравниваем нынешнюю позицию и позицию цели <условие>", на
Код:
mouse_pos 2@
2DUP S" Координаты мыши: %0 esPICK% и %1 esPICK%" CRON-LOG
 MOUSE-POS D= \ Сравниваем нынешнюю позицию и позицию цели <условие>
после чего смотри лог какие значения у мышки когда задача "не срабатывает". Потом строку, что посередине, можно закомментировать, или просто удалить.
  3. Внутри цикла у тебя пауза 100 мс, тебе нужна такая точность?! IMHO, это ненужная нагрузка на комп, сделай 1сек, а можно и по-более.

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 10:57 17-08-2007
Sizif73



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
1.    SingleInstance
Спасибо, до этого сам бы не додумался.

Цитата:
2.      например, 5x5 пикселей.
С этим то я согласен, просто решил для начала разобраться с задачей попроще. К 5х5 пока не знаю как подступиться.  

Цитата:
3.    пауза 100 мс, тебе нужна такая точность?! IMHO, это ненужная нагрузка на комп
Ну и с этим в общем согласен, правда Process Explorer никакой выдающейся нагрузки не показывает, да и когда с задачей эксперементировал там разные числа стояли, в основном 1сек.
О собственно задаче, просто нужно было сделать правильно. Забыл двоеточие после PAUSE поставить, из-за этого похоже весь косяк. Непонятно правда почему она все таки время от времени срабатывала. Окончательная версия
Код:
#( mouse_drive
AsLoggedUser
SingleInstance \ Только один экземпляр задачи
2VARIABLE mouse_pos \ Переменная для хранения целевой позиции мыши
Rule: PROC-EXIST: "ssbezier.scr" NOT  
Action:  
1023 0 mouse_pos 2! \ Координаты x и y цели
    BEGIN        
    PAUSE: 1000 \ пауза одна секунда <тело цикла>
    mouse_pos 2@ MOUSE-POS D= \ Сравниваем нынешнюю позицию и позицию цели <условие>
    UNTIL
SCREENSAVER-ON
)#
 
Может кому нибуть эта "рыба" еще сгодится.  
Остается правда еще одна мелочь, если задача отработала в следующий раз она запустится по окончании текущей минуты, не то что бы это сильно мешало...
 
Спасибо за помощь, надеюсь у меня еще появятся достойные задачи для этой проги.
 
З.Ы. попробовал побаловаться с рекурсией, поставил в конец задачи ее вызов, выдало ошибку. Ну и ладно.

----------
Я ленивый, но упрямый.

Всего записей: 3108 | Зарегистр. 22-03-2006 | Отправлено: 22:28 17-08-2007
IDentify

Редактировать | Цитировать | Сообщить модератору
Есть такая задача

Код:
#( Hibernate_2
WatchSuspend
Action:
WakeAfter: 00:02
)#

Если переводить компьютер в спящие режим через пуск>выключить>... - задача обрабатывается нормально.
Если через скрипт повешенный на горячую клавишу - то нет.

Код:
rundll32.exe powrprof.dll,SetSuspendState

В чём фишка?

Отправлено: 09:10 18-08-2007
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно написать задачу, которая при запуске системы проверяет, активен nnCron или приостановлен (командой меню "Приостановить nnCron"). Если сабж приостановлен, задача должна его активировать. Пропишу ее запуск в реестр. Где-то видел соответствующие слова для задачи, но не могу найти, подскажите.

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 13:40 19-08-2007
Sizif73



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lucky_Luk
 
ENABLE-CRON
DISABLE-CRON
DISABLE-CRON?
 
Эти?

----------
Я ленивый, но упрямый.

Всего записей: 3108 | Зарегистр. 22-03-2006 | Отправлено: 14:49 19-08-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Компьютерный форум Ru.Board » Компьютеры » Программы » nnCron-Планировщик с поддержкой скриптового языка
Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru