TDataView.DeadManSwitchClear
| TDataView = class (TObject) | Interface de TDataView | Exemples de TDataView |
Qubes 7.2 Arrête le compteur
Syntaxe
procedure DeadManSwitchClear()
Remarques
Le DeadManSwitch sert à vérifier que le traitement s'écoule pendant un temps raisonnable et qu'il n'a pas planté.
Après un arrêt, si on redémarre le compteur celui repart de zéro.
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;
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;