Что нового

Запуск скрипта каждую 15ю минуту

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Доброго времени суток уважаемые.
подскажите, как завернуть так, что бы скрипт запускался каждые 15 минут каждого часа, то есть в 00:00; 00:15, .... 00:45..
скажем так - 4 раза в час, sleep(15*60*1000) не вариант.

Спасибо заранее.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Код:
If Not Mod(@MIN, 15) Then MsgBox(0, "", "Time")
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Alofa [?]
о значит "запускался" - это стоит понимать буквально?
Прошу прощения за не правилую формулировку, что бы скрипт ждал и каждую 15ю минуту часа выполнял действие..
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Код:
AdlibRegister("CheckTime",  60000)

Func CheckTime()

   If @Min = 15 Then

	  MsgBox(4096, "", @Min)
	  ; Сюда пишем то что надо выполнять каждую 15 минуту

   EndIf
   
EndFunc
 
A

Alofa

Гость
OffTopic:
gunter123
Ваш скрипт запустится и тут же потухнет.
Срабатывать он будет только когда минуты будут = 15, т.е. 1 раз в час, а то и 0, с учетом:
Код:
AdlibRegister("CheckTime",  60000)

... и времени на выполнение задач пользователя.
 

gunter123

Продвинутый
Сообщения
159
Репутация
69
Да, неправильно прочитал условие.
Alofa сказал(а):
OffTopic:
gunter123
Ваш скрипт запустится и тут же потухнет.
Срабатывать он будет только когда минуты будут = 15, т.е. 1 раз в час, а то и 0, с учетом:
Код:
AdlibRegister("CheckTime",  60000)

... и времени на выполнение задач пользователя.
Вот такой вариант должен работать:
Код:
AdlibRegister("CheckTime",  60000)

Func CheckTime()
   If MOD(@Min, 15) Then
      MsgBox(4096, "", @Min)
      ; Сюда пишем то что надо выполнять каждые 15 минут
   EndIf
EndFunc

While 1
        ; Тело скрипта
Wend
 
A

Alofa

Гость
OffTopic:
gunter123 сказал(а):
... Вот такой вариант должен работать:
Должен, но только с точностью на оборот: т.е. все время кроме минут кратных 15.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
А чем вас вариант , предложенный InnI не устраивает ?
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Alofa сказал(а):
OffTopic:
gunter123 сказал(а):
... Вот такой вариант должен работать:
Должен, но только с точностью на оборот: т.е. все время кроме минут кратных 15.
Всем спасибо, работает правильно если поставить If not MOD(@Min, 15) Then
 
Автор
K

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Прошу прощения за off top, а как можно сделать что бы запускался каждую первую минуту часа ? 00:01, 01:01.... 23:01?
 
A

Alofa

Гость
OffTopic:
kvitnitskiy сказал(а):
... что бы запускался каждую первую минуту часа ?..
Код:
Local $bBrake = True
While 1
	If @MIN = 1 Then
		If $bBrake Then _MyFunc()
		$bBrake = False
	Else
		$bBrake = True
	EndIf
	Sleep(20000)
WEnd

Func _MyFunc()
	MsgBox(0, 'Time = ' & @MIN, '_MyFunc() будет выполнена 1 раз в кажрую 1 минуту часа')
EndFunc   ;==>_MyFunc
 
Верх