Выполнение каждые 10 секунд

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

Выполнение каждые 10 секунд

Postby Alex149149 » Fri, 19 Oct 2012, 09:48

Доброго времени суток. После неудачного поиска по форуму, решил создать тему.
Нужно выполнять задачу в nnCron каждые 10 секунд. Возможно ли это?

у меня сейчас установлено так:
45-59 11,13,14,15,16,17,18 * * 1-5 *
т.е. каждые 10 секунд в заданном диапазоне.
Alex149149
 
Posts: 10
Joined: Tue, 20 Dec 2011, 17:32


Re: Выполнение каждые 10 секунд

Postby Alex149149 » Fri, 19 Oct 2012, 10:30

Что-то не получается
Вот сама задача, которая выполняется каждую минуту в заданый период часов и дней. Нужно что бы в заданые минуты раз в 10 секунд выполнялась.

Code: Select all
#( TEST
Time: 0-44 11,13,14,15,16,17,18 * * 1-5 *
Action:
StartIn: "C:\Host\www"
SWHide   NormalPriority
START-APP: C:\Host\www\test.cmd
)#


Делал так:

Code: Select all
#( TEST
Time: 0-44 11,13,14,15,16,17,18 * * 1-5 *
Action:
StartIn: "C:\Host\www"
SWHide   NormalPriority
START-APP: C:\Host\www\test.cmd
THEN
1000 20 * PAUSE \ 20 - интервал между выполнением задачи
AGAIN
)#
Alex149149
 
Posts: 10
Joined: Tue, 20 Dec 2011, 17:32

Re: Выполнение каждые 10 секунд

Postby Morituruz » Fri, 19 Oct 2012, 10:44

BEGIN забыли
+ если не хотите, чтобы два экземпляра задачи работали одновременно, нужно добавить SingleInstance
Code: Select all
#( TEST
Time: 0-44 11,13,14,15,16,17,18 * * 1-5 *
SingleInstance
Action:
BEGIN
    StartIn: "C:\Host\www"
    SWHide   NormalPriority
    START-APP: C:\Host\www\test.cmd
    THEN
    1000 20 * PAUSE \ 20 - интервал между выполнением задачи
AGAIN
)#
Last edited by Morituruz on Fri, 19 Oct 2012, 11:21, edited 1 time in total.
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Выполнение каждые 10 секунд

Postby Alex149149 » Fri, 19 Oct 2012, 10:53

Вот, вроде так работает без ошибок. Спасибо.
Получается он каждую секунду выполняет ? Точнее, когда заканчивает выполнение запускает его вновь ?

а если добавить перед AGAIN строчку
1000 20 * PAUSE \ 20 - интервал между выполнением задачи
то будет заданный интервал в секундах
Alex149149
 
Posts: 10
Joined: Tue, 20 Dec 2011, 17:32

Re: Выполнение каждые 10 секунд

Postby Morituruz » Fri, 19 Oct 2012, 11:22

Извиняюсь, я потерял там паузу в 20 секунд. Поправил предыдущее сообщение.
Хотя, с SingleInstance оно будет крутиться бесконечно, так что надо запускать раз в минуту (и на условие времени не будет обращать внимания), но заданное кол-во раз
Code: Select all
#( TEST
Time: 0-44 11,13,14,15,16,17,18 * * 1-5 *
Action:
3 0 DO
    StartIn: "C:\Host\www"
    SWHide   NormalPriority
    START-APP: C:\Host\www\test.cmd
    THEN
    1000 20 * PAUSE \ 20 - интервал между выполнением задачи
LOOP
)#
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Выполнение каждые 10 секунд

Postby Alex149149 » Fri, 19 Oct 2012, 11:36

а что за строчка
Code: Select all
3 0 DO

За что она отвечает ?
Alex149149
 
Posts: 10
Joined: Tue, 20 Dec 2011, 17:32

Re: Выполнение каждые 10 секунд

Postby Morituruz » Fri, 19 Oct 2012, 12:05

Alex149149 wrote:а что за строчка

Цикл, который повторится 3 раза, чтобы успеть отработать до следующей минуты:
http://www.nncron.ru/help/RU/add_info/f ... q.htm#loop
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Выполнение каждые 10 секунд

Postby Alex149149 » Fri, 19 Oct 2012, 13:07

Огромное спасибо! Теперь все понятно!
Alex149149
 
Posts: 10
Joined: Tue, 20 Dec 2011, 17:32

Re: Выполнение каждые 10 секунд

Postby WAndrey » Sat, 20 Oct 2012, 14:41

Moriturus wrote:
Alex149149 wrote:а что за строчка

Цикл, который повторится 3 раза, чтобы успеть отработать до следующей минуты:
http://www.nncron.ru/help/RU/add_info/f ... q.htm#loop

Это не раз в 20 секунд, это с 20секундными паузами между задачами :(
Вместо паузы надо вставить цикл, который будет проверять секунды и ждать каждой 20й...
Что-то типа такого
Code: Select all
BEGIN
  1000 PAUSE
  GET-CUR-TIME
  Sec@ 20 MOD 0=
UNTIL
WAndrey
 
Posts: 44
Joined: Fri, 20 May 2011, 10:57

Re: Выполнение каждые 10 секунд

Postby Morituruz » Sat, 20 Oct 2012, 15:28

WAndrey wrote:Это не раз в 20 секунд, это с 20секундными паузами между задачами

Да шо вы говорите...
Code: Select all
#( TEST
NoLog
Action:
3 0 DO
   GET-CUR-TIME
   " %hh%:%mm%:%ss%" TYPE CR
   1000 20 * PAUSE \ 20 - интервал между выполнением задачи
LOOP
)#


Code: Select all
16:26:00
16:26:20
16:26:40
16:27:00
16:27:20
16:27:40
16:28:00
16:28:20
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Re: Выполнение каждые 10 секунд

Postby Aveiro » Sat, 20 Oct 2012, 17:57

В общем задача думается решена,цикл с нужными паузами и все.
Однако если придираться,имеем техническое задание:
Alex149149 wrote:...Нужно выполнять задачу в nnCron каждые 10 секунд.

Тогда я бы сделал две задачи:
1-я неактивная задача,в ней нужные действия
2-я задача с паузой 20 сек. и принудительным запуском первой задачи
Хотя все уже решили, главное как говориться результат, а это прсто придирки :)
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: Выполнение каждые 10 секунд

Postby WAndrey » Sun, 21 Oct 2012, 13:41

Moriturus wrote:
WAndrey wrote:Это не раз в 20 секунд, это с 20секундными паузами между задачами

Да шо вы говорите...
Code: Select all
#( TEST
NoLog
Action:
3 0 DO
   GET-CUR-TIME
   " %hh%:%mm%:%ss%" TYPE CR
   1000 20 * PAUSE \ 20 - интервал между выполнением задачи
LOOP
)#


Code: Select all
16:26:00
16:26:20
16:26:40
16:27:00
16:27:20
16:27:40
16:28:00
16:28:20

Угу, а теперь сделай так, чтобы твоя задача выполняла полезную работу пару секунд, а не только время выводила...
WAndrey
 
Posts: 44
Joined: Fri, 20 May 2011, 10:57

Re: Выполнение каждые 10 секунд

Postby WAndrey » Sun, 21 Oct 2012, 13:46

Aveiro wrote:В общем задача думается решена,цикл с нужными паузами и все.
Однако если придираться,имеем техническое задание:
Alex149149 wrote:...Нужно выполнять задачу в nnCron каждые 10 секунд.

Тогда я бы сделал две задачи:
1-я неактивная задача,в ней нужные действия
2-я задача с паузой 20 сек. и принудительным запуском первой задачи
Хотя все уже решили, главное как говориться результат, а это прсто придирки :)

Да, с двумя задачами красивее и проще, в неактивной только SingleInstance не забыть.
Да нет, не придирки. Пауза не учитывает время полезной работы самой задачи и никакого каждые эн секунд не получится.
WAndrey
 
Posts: 44
Joined: Fri, 20 May 2011, 10:57

Re: Выполнение каждые 10 секунд

Postby Morituruz » Sun, 21 Oct 2012, 16:23

WAndrey wrote:Угу, а теперь сделай так, чтобы твоя задача выполняла полезную работу пару секунд

у автора вообще-то запуск приложения, сколько оно там работает это его проблемы, с нас только запуск :-)
User avatar
Morituruz
 
Posts: 727
Joined: Sun, 14 Oct 2007, 01:51

Next

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot] and 2 guests

cron