Что нового

Завершение работы скрипта после истечения указанного "таймаута"

vld-k

Новичок
Сообщения
39
Репутация
0
Пожалуйста, помогите решить задачу:
Имею скрипт с парой десятков простых строк кода, необходимо сделать так, чтоб при запуске скрипта запускался таймер, после истечения которого в лог записывалось сообщение об ошибке и срабатывал exit
Вырезка из скрипта:
Код:
....
RunWait (@ProgramFilesDir & '\nct\TOMAS\uninst.exe /SQ')
WinWaitActive ('Удаление TOMAS', '', '')
ControlClick ('Удаление TOMAS', '', 'Button1')
Sleep (5000)
WinWaitActive ('Удаление TOMAS', '')
ControlClick ('Удаление TOMAS', '', 'Button2')
FileWriteLine("X:\report.log", @IPAddress1 & @TAB & @ComputerName & @TAB &  "ok")

Идея в том, что если выполнение скрипта по каким-либо причинам не уложилось в заданный временной интервал, выполнять команду
Код:
FileWriteLine("X:\report.log", @IPAddress1 & @TAB & @ComputerName & @TAB &  "ERROR")
Exit

Подскажите, пожалуйста, как это сделать.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
vld-k [?]
как это сделать
Код:
AdlibRegister("Timeout", 1000)

Global $Timeout = 10 ; в секундах
Global $ScriptStart = TimerInit()

; начало скрипта
While Sleep(1000)
WEnd
; конец скрипта

Func Timeout()
  If ($Timeout > 0) And (TimerDiff($ScriptStart) >= $Timeout * 1000) Then
    FileWriteLine("X:\report.log", @IPAddress1 & @TAB & @ComputerName & @TAB & "ERROR")
    Exit
  EndIf
EndFunc
 
Автор
V

vld-k

Новичок
Сообщения
39
Репутация
0
Спасибо за оперативный ответ.
Буду пробовать :smile:


Добавлено:
Сообщение автоматически объединено:

Спасибо Вам за помощь, все прекрасно работает. :IL_AutoIt_1:
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
AdlibRegister("Timeout", 1000)

; начало скрипта
While Sleep(1000)
WEnd
; конец скрипта

Func Timeout()
    FileWriteLine("X:\report.log", @IPAddress1 & @TAB & @ComputerName & @TAB & "ERROR")
    Exit
EndFunc
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
OffTopic:
alex33
Смысл вашего ответа? Ваш ответ ничем не отличается от ответа InnI
Тема помечена как решённая, зачем её подымать?
 
Верх