Обсуждение программ nnCron и nnCron LITE
by Halfer » Thu, 26 Feb 2009, 06:13
Что-то читал я читал про компиляцию, так и не понял нифига. У меня накопилась уже масса небольших задачек, которые не очень удобно держать в кронтабах. Хочу вывести их в отдельные исполняемые файлы. Например, есть задача синхронизации времени с локального сервера: - Code: Select all
#( set_time Action: BEGIN 180000 PAUSE HOST-EXIST: "192.168.0.1" IF SWHide NormalPriority START-APPW: "c:\windows\system32\net.exe time \\192.168.0.10 /set /yes" EXIT THEN AGAIN )#
Подскажите, как скомпилировать из неё экзешник, который я поставлю тупо на автозагрузку.
-
Halfer
-
- Posts: 395
- Joined: Wed, 09 May 2007, 13:23
by Nicholas_Nemtsev » Thu, 26 Feb 2009, 09:00
Да проще в автозагрузку добавить ярлык с командой c:\windows\system32\net.exe time \\192.168.0.10 /set /yes
Nicholas Nemtsev
-

Nicholas_Nemtsev
- Site Admin
-
- Posts: 857
- Joined: Thu, 01 Jul 2004, 22:25
- Location: Псков
-
by Halfer » Thu, 26 Feb 2009, 09:12
Nicholas_Nemtsev wrote:Да проще в автозагрузку добавить ярлык с командой c:\windows\system32\net.exe time \\192.168.0.10 /set /yes
Я просто как пример задачу привёл  Хочется понять, как их компилировать в исполняемые файлы?
-
Halfer
-
- Posts: 395
- Joined: Wed, 09 May 2007, 13:23
by Nicholas_Nemtsev » Thu, 26 Feb 2009, 11:08
Надёжнее выносить подобные задачи в отдельные файлы и запускать их через -runfile Для скорости (когда это возможно) добавлять ключ -wp для отмены загрузки плагинов. Некоторые продолжительные задачи предпочтительно выносить в отдельные скрипты, чтобы не зависеть от перезагрузки кронтабов и от других задач, которые могут, например, обрушить крон, и, ко всему, сами такие задачи влиять на устойчивость крона не будут.
Nicholas Nemtsev
-

Nicholas_Nemtsev
- Site Admin
-
- Posts: 857
- Joined: Thu, 01 Jul 2004, 22:25
- Location: Псков
-
by Halfer » Fri, 27 Feb 2009, 03:02
Как я понял, компилировать задачи в исполняемые файлы не рекомендуется.
-
Halfer
-
- Posts: 395
- Joined: Wed, 09 May 2007, 13:23
by elos » Fri, 27 Feb 2009, 08:19
Да никто не запрещает. Это надо применять там, где хочешь спрятать содержимое табов от "шаловливых" ручек (но никто не мешает этим ручкам полазить в ini и нагадить там...).
Тебе же не надо на машине пачка кронов, отличающихся только малой толикой слов, вкомпилированных к основному телу. Поэтому и предлагается использовать раздельный запуск. Да и сервисом ты скорее всего только один запустить сможешь (даже если и переименуешь бинарники, то в его теле имя сервиса все равно останется прежним - nncron).
-
elos
-
- Posts: 668
- Joined: Tue, 25 Apr 2006, 11:15
-
by Halfer » Fri, 27 Feb 2009, 08:26
Ну вот хоть немного пролито света на мой вопрос. Я вообще думал, что скомпилированный экзешник может работать на любом компе без установленного nnCron'a. Оказывается, что нет. Ну тада он нафиг не нужен! 
-
Halfer
-
- Posts: 395
- Joined: Wed, 09 May 2007, 13:23
by VoidVolker » Fri, 27 Feb 2009, 09:58
В целях ускорения компиляции можно использовать хеширование http://fforum.winglion.ru/viewtopic.php?p=16887#16887 Кстати, Николай, думаю стоит сделать хешированый поиск по-умолчанию - а то стандартный набор слов 3000, а если еще и несколько кронтабов - то слов вообще болше 5000 становится, и классическое сравнение каждого слова заметно тормозит запуск крона и перечитывание кронтабов.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Nicholas_Nemtsev » Fri, 27 Feb 2009, 12:46
В юникодной версии форта, которым собирается nnBackup 3.х у меня уже встроено хеширование. Ускорение действительно значительное. Можно попробовать встроить и в старый SP-Forth.
Nicholas Nemtsev
-

Nicholas_Nemtsev
- Site Admin
-
- Posts: 857
- Joined: Thu, 01 Jul 2004, 22:25
- Location: Псков
-
by AlikasS » Fri, 27 Feb 2009, 14:02
Halfer wrote:..... Я вообще думал, что скомпилированный экзешник может работать на любом компе без установленного nnCron'a. Оказывается, что нет. Ну тада он нафиг не нужен! 
может и работает (nncron.ini здесь не причем), другое дело что в exe сохраняется вся наработанная система. поэтому лучше делать SAVE из -runfile например создаем такой файл H:\1.fex (где H - у меня др.диск) - Code: Select all
\ можно подключить плагины \ INCLUDE "plugins\other\wincon.f"
: re TMSG: "Hello, WORLD!" 10 ;
: main ['] re MAINX ! S" 1.exe" SAVE ;
\EOF \ или прям так : main [NONAME TMSG: "Hello, WORLD!" 10 NONAME] MAINX ! S" 1.exe" SAVE ;
строка запуска - Code: Select all
"c:\program files\nncron\nncron.exe" -runfile H:\1.fex
P.S. есл запускать из каталога nncron где лежит ini, он (ini) подключится и соотвественно подключаться все табы и плагины
Last edited by AlikasS on Tue, 10 Mar 2009, 15:38, edited 1 time in total.
-

AlikasS
-
- Posts: 1439
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by AlikasS » Fri, 27 Feb 2009, 16:40
интересно, почему - Code: Select all
: re TMSG: "Hello, WORLD!" 10 BYE ;
: main ['] re MAINX ! \ TO <MAIN> S" 1.exe" SAVE ;
работает запуск 1.exe, а - Code: Select all
: re WIN-INPUT-TEXT: "Just a test" "Please, enter your first name" "Type here" 0 0= IF 2DROP MSG: "OK" ELSE MSG: "NO" THEN ;
: main ['] re MAINX ! \ TO <MAIN> S" 2.exe" SAVE ;
не работает запуск 2.exe
-

AlikasS
-
- Posts: 1439
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by VoidVolker » Fri, 27 Feb 2009, 21:30
Nicholas_Nemtsev wrote:В юникодной версии форта, которым собирается nnBackup 3.х у меня уже встроено хеширование. Ускорение действительно значительное. Можно попробовать встроить и в старый SP-Forth.
Тему хеширования в ннкроне я уже поднял на форуме Winglion'а - я бы и сам сделал бы, вот только я плохо знаком с архитектурой СПФ'а. Поэтому может быть Вы посмотрите тему http://fforum.winglion.ru/viewtopic.php?p=16887#16887 - там есть решения для современной версии спф'а, а вот в кроне оно выдает ошибку непонятную.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by Nicholas_Nemtsev » Fri, 27 Feb 2009, 21:58
http://www.nncron.ru/download/spfw.zipВ файлах src\compiler\spf_wordlist.f src\compiler\spf_find.f всё описано. Для каждого словаря используется своя хэш-таблица. Для разрешения коллизий в заголовок слова введено ещё одно поле. Решение уже хорошо отлаженное и я особо выдумывать ничего не буду и перенесу его в SPF 3.75.
Nicholas Nemtsev
-

Nicholas_Nemtsev
- Site Admin
-
- Posts: 857
- Joined: Thu, 01 Jul 2004, 22:25
- Location: Псков
-
by VoidVolker » Sat, 28 Feb 2009, 15:31
Nicholas_Nemtsev wrote:Решение уже хорошо отлаженное и я особо выдумывать ничего не буду и перенесу его в SPF 3.75.
Отлично, будем ждать 
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
Return to nnCron forum (Russian)
Who is online
Users browsing this forum: Absolum and 5 guests
|
|