Блокировка повторного запуска скрипта в течение дня

Блокировка повторного запуска скрипта в течение дня

Previous pageReturn to chapter overviewNext page

В случае применения AVZ для автоматического сканирования компьютеров в сети может возникнуть задача блокировки повторного запуска одного и того-же скрипта в течении дня. Это полезно, например, для блокировки повторных запусков  AVZ после каждой перезагрузки компьютера или для однократного обновления баз в течении дня. Решение данной операции достаточно простое и сводится в установки в реестре отметки,  содержащей время последнего сканирования.

 

var

LastScanDate, CurrentDate : string;

begin

LastScanDate := RegKeyStrParamRead('HKEY_CURRENT_USER', 'Software\AVZ', 'LastScanDate');

CurrentDate  := DateToStr(Now);

if LastScanDate = CurrentDate then begin

AddToLog('Блокировка повторного запуска. Скрипт уже запускался '+LastScanDate);

ExitAVZ;

 exit;

end;

RegKeyStrParamWrite('HKEY_CURRENT_USER', 'Software\AVZ', 'LastScanDate', CurrentDate);

// продолжение скрипта ....

end.

 

Принцип работы данного скрипта основан на том, что из реестра считывается параметр с именем 'LastScanDate', хранящийся в ключе 'HKEY_CURRENT_USER\Software\AVZ' (естественно, что ключ и имя параметры можно задать любые). Если считанное значение содержит текущую дату, то работа скрипта прерывается и производится выход из AVZ. В противном случае производится запись в реестр отметки с текущей датой.