TDataView.DeadManSwitchActive

TDataView = class (TObject)Interface de TDataViewExemples de TDataView

Qubes 7.2 teste si on est toujours dans le délai

Syntaxe

function DeadManSwitchActive(): Boolean

Remarques

Le DeadManSwitch sert à vérifier que le traitement s'écoule pendant un temps raisonnable et qu'il n'a pas planté.
Renvoi true tant que le délai ne s'est pas intégralement écoulé.
Par défaut le délai est de 60 secondes.

Exemples

var dvName := 'DataViewName';
var dataView := DeclareView(dvName, dataSource, dvFields);

if IncrementGlobalVar(dvName) <> 1 then begin
   if dataView.DeadManSwitchActive then begin
      IncrementGlobalVar(dvName, -1);
      SendError(503,'Update already in progress. Please wait');
      Exit;
   end;
end;
dataView.DeadManSwitchRearm;
try
   var CP := dataView.MetaData['CheckPoint'];
   if CP = '' then
      CP := dataSource.Restart(dataView)
   else CP := dataSource.Update(dataView,CP);
   dataView.MetaData['CheckPoint'] := CP;
finally
   IncrementGlobalVar(dvName, -1);
   dataView.DeadManSwitchClear;
end;

Classification

QubesDataViews TDataView