Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $maxTime = 43200; // temps en secondes - 12h maximum
- $scenario->setLog("Temps : " . $maxTime);
- $batterie = "Batterie"; // Nom de la commande à rechercher
- $excludeEq = array(); // Liste des équipements à ignorer (qui contiennent la commande "$batterie")
- $errEqLogics = array();
- $_format = '%Y-%m-%d %H:%M:%S';
- $eqLogics = eqLogic::all();
- $scenario->setLog('Début monitoring');
- $scenario->setData('monitor', '');
- foreach($eqLogics as $eqLogic)
- {
- if (in_array($eqLogic->getHumanName(),$excludeEq)){
- $scenario->setLog( '-- Equipement ' . $eqLogic->getHumanName() . ' ignoré');
- continue;
- }
- try{
- if (isset($batterie)){
- // si la commande n'existe pas, une exception est levée
- $cmd = cmd::byString('#' . $eqLogic->getHumanName() . '['. $batterie .']#');
- }
- $scenario->setLog( '-- Equipement ' . $eqLogic->getHumanName());
- $allCmds = $eqLogic->getCmd();
- $maxDate = date($_format, "1970-1-1 00:00:00");
- if (count($allCmds) > 0)
- {
- foreach($allCmds as $cmd)
- {
- if (strpos($cmd->getHumanName(),$batterie) !== false)
- {
- $cmd->execCmd();
- $collectDate = $cmd->getCollectDate();
- // getCollectDate getValueDate
- $scenario->setLog( 'Commande ' . $cmd->getHumanName() . ' - ' . $collectDate);
- //$maxDate = max($maxDate, strtotime($collectDate));
- $maxDate = max($maxDate, strtotime($collectDate));
- }
- }
- $scenario->setLog( 'Date max ' . date('c', $maxDate));
- $elapsedTime = time() - $maxDate;
- if ($elapsedTime > $maxTime){
- // -- /!\alert
- $errEqLogics[] = $eqLogic->getHumanName();
- }
- }
- }catch (Exception $e)
- {
- // pas de commande
- }
- }
- $scenario->setData('monitor', implode(",", $errEqLogics));
- // log fin de traitement
- $scenario->setLog( 'fin monitoring');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement