Задержки в выполнении NCF файла

Обсуждение технических вопросов по продуктам Novell

Задержки в выполнении NCF файла

Сообщение Танин Виктор » 03 авг 2006, 08:41

Добрый день. Есть необходимость запустить нескольок команд на сервере последовательно, т.е. написал run.ncf вида

command1
command2

Хотелось бы, чтобы command2 не запускалась до тех пор, пока command1 не закончит свою работу (как в однозадачном МС ДОСе)
Можно между ними вставить delay либо "?", однако время ожидания надо подбирать эмпирически.

Возможно ли осуществить желаемое? или всё-таки просчитать время и пустить всё по крону придётся?
Аватара пользователя
Танин Виктор
 
Сообщения: 141
Зарегистрирован: 03 фев 2004, 04:36
Откуда: Владивосток

Сообщение Igor Bashinsky » 03 авг 2006, 11:55

delay <время в сек.>
Igor Bashinsky
 
Сообщения: 156
Зарегистрирован: 13 мар 2003, 13:47

Сообщение Алексей Волков » 03 авг 2006, 15:10

В 6.5 есть несколько команд, нач. на % (%IF, %WHILE, и т.д.)

Так вот, в вашем случае можно сделать так (знаю, что кривовато):

1) command1.ncf:
setenv curcom="command1"
... ваши команды
setenv curcom="none"

2)

COMMAND1.NCF
%while (env curcom!="none") {cmd delay 1}
COMMAND2.NCF
Алексей Волков
 
Сообщения: 292
Зарегистрирован: 14 окт 2003, 19:21
Откуда: Kiev

Сообщение Танин Виктор » 04 авг 2006, 02:32

Алексей Волков писал(а):В 6.5 есть несколько команд, нач. на % (%IF, %WHILE, и т.д.)

Так вот, в вашем случае можно сделать так (знаю, что кривовато):

1) command1.ncf:
setenv curcom="command1"
... ваши команды
setenv curcom="none"

2)

COMMAND1.NCF
%while (env curcom!="none") {cmd delay 1}
COMMAND2.NCF


К сожалению, такая конструкция не даёт желаемого результата. В command1.ncf команды запускаются одна за другой, и не дожидаясь "возврата" меняется переменная curcom. И идёт выполнение уже command2.ncf
Похоже осуществить задуманное не получится. Буду высчитывать время и делать запас. И всё по крону гонять.
Аватара пользователя
Танин Виктор
 
Сообщения: 141
Зарегистрирован: 03 фев 2004, 04:36
Откуда: Владивосток

Сообщение capricious » 04 авг 2006, 09:29

обратите свой взор на TASKMASTER

www.avanti-tech.com
Аватара пользователя
capricious
 
Сообщения: 393
Зарегистрирован: 21 апр 2003, 14:36
Откуда: Moscow

Сообщение Танин Виктор » 07 авг 2006, 07:11

2capricious
а про таскмастер я, признаться, забыл. спасибо за наводку, попробую наваять скриптик
Аватара пользователя
Танин Виктор
 
Сообщения: 141
Зарегистрирован: 03 фев 2004, 04:36
Откуда: Владивосток

Re: Задержки в выполнении NCF файла

Сообщение Dimerson » 07 авг 2006, 08:34

Танин Виктор писал(а):Добрый день. Есть необходимость запустить нескольок команд на сервере последовательно, т.е. написал run.ncf вида

command1
command2

Хотелось бы, чтобы command2 не запускалась до тех пор, пока command1 не закончит свою работу (как в однозадачном МС ДОСе)
Можно между ними вставить delay либо "?", однако время ожидания надо подбирать эмпирически.

Возможно ли осуществить желаемое? или всё-таки просчитать время и пустить всё по крону придётся?


не поможет ли использование perl.nlm или bash.nlm ?
Аватара пользователя
Dimerson
 
Сообщения: 2966
Зарегистрирован: 15 сен 2002, 14:39
Откуда: Регион 70

Re: Задержки в выполнении NCF файла

Сообщение Танин Виктор » 07 авг 2006, 08:49

Dimerson писал(а):
не поможет ли использование perl.nlm или bash.nlm ?


В перле под NW насколько я знаю, system() не дожидается возвращения, поэтому надо опять-таки самому контролировать процесс окончания работы модуля/команды.

Как поступить в bash не знаю.
Аватара пользователя
Танин Виктор
 
Сообщения: 141
Зарегистрирован: 03 фев 2004, 04:36
Откуда: Владивосток

Сообщение Орлов Алексей » 07 авг 2006, 09:28

bash как и cmd в win ждет завершения выполнения команды. Можно сделать проверку на if
Даёшь полный контроль над Юзверем!!!
-------------------------------------------------------
Я еще из тех, кто учился азбуке по букварю, а не по клавиатуре....

Иногда пишу в своем блоге на тему ms Lync, directaccess.
Аватара пользователя
Орлов Алексей
 
Сообщения: 953
Зарегистрирован: 04 июн 2003, 12:43
Откуда: Нижний Новгород

Сообщение Танин Виктор » 10 авг 2006, 02:08

Орлов Алексей, в bash запускать ncf или как-то по другому? Подробнее расскажите, пожалуйста.
Аватара пользователя
Танин Виктор
 
Сообщения: 141
Зарегистрирован: 03 фев 2004, 04:36
Откуда: Владивосток

Сообщение Орлов Алексей » 10 авг 2006, 10:39

Нет в самом bashe можно писать програмки, довольно не плохой язык, хотя имеющий свои правила :) Посмотрите описане команд для nux систем и все поймете. NCF я думаю там запустить не удастся а вот создать файлик с командами я думаю да. Как все это запускать пок ане смотрел, но думаю можно, для чего же его туда интегрировали. А написание проверки довольно простое
if условие then что то сделать else что то другое end как в логин скрипте :)
Даёшь полный контроль над Юзверем!!!
-------------------------------------------------------
Я еще из тех, кто учился азбуке по букварю, а не по клавиатуре....

Иногда пишу в своем блоге на тему ms Lync, directaccess.
Аватара пользователя
Орлов Алексей
 
Сообщения: 953
Зарегистрирован: 04 июн 2003, 12:43
Откуда: Нижний Новгород


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

cron