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

Наверх  Предыдущая  Последующая |

В случае применения 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. В противном случае производится запись в реестр отметки с текущей датой.