Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.91 KB | None | 0 0
  1. $maxTime = 43200; // temps en secondes - 12h maximum
  2.  
  3. $scenario->setLog("Temps : " . $maxTime);
  4.  
  5. $batterie = "Batterie"; // Nom de la commande à rechercher
  6. $excludeEq = array(); // Liste des équipements à ignorer (qui contiennent la commande "$batterie")
  7.  
  8.  
  9. $errEqLogics = array();
  10.  
  11. $_format = '%Y-%m-%d %H:%M:%S';
  12.  
  13. $eqLogics = eqLogic::all();
  14. $scenario->setLog('Début monitoring');
  15.  
  16. $scenario->setData('monitor', '');
  17.  
  18. foreach($eqLogics as $eqLogic)
  19. {
  20.  
  21.  if (in_array($eqLogic->getHumanName(),$excludeEq)){
  22.     $scenario->setLog( '-- Equipement ' . $eqLogic->getHumanName() . ' ignoré');
  23.     continue;
  24.   }
  25.  
  26.   try{
  27.     if (isset($batterie)){
  28.         // si la commande n'existe pas, une exception est levée
  29.         $cmd = cmd::byString('#' . $eqLogic->getHumanName() . '['. $batterie .']#');
  30.     }
  31.    
  32.     $scenario->setLog( '-- Equipement ' . $eqLogic->getHumanName());
  33.    
  34.     $allCmds = $eqLogic->getCmd();
  35.    
  36.     $maxDate = date($_format, "1970-1-1 00:00:00");
  37.     if (count($allCmds) > 0)
  38.     {
  39.       foreach($allCmds as $cmd)
  40.       {  
  41.         if (strpos($cmd->getHumanName(),$batterie) !== false)
  42.         {
  43.           $cmd->execCmd();
  44.           $collectDate = $cmd->getCollectDate();
  45.           // getCollectDate getValueDate
  46.           $scenario->setLog( 'Commande ' . $cmd->getHumanName() . ' - ' . $collectDate);
  47.  
  48.           //$maxDate = max($maxDate, strtotime($collectDate));
  49.           $maxDate = max($maxDate, strtotime($collectDate));
  50.  
  51.         }
  52.       }
  53.       $scenario->setLog( 'Date max ' . date('c', $maxDate));
  54.       $elapsedTime = time() - $maxDate;
  55.      
  56.       if ($elapsedTime > $maxTime){
  57.         // -- /!\alert
  58.         $errEqLogics[] = $eqLogic->getHumanName();
  59.       }
  60.     }
  61.    
  62.   }catch (Exception $e)
  63.   {
  64.     // pas de commande
  65.   }
  66.  
  67. }
  68.  
  69. $scenario->setData('monitor', implode(",", $errEqLogics));
  70. // log fin de traitement
  71. $scenario->setLog( 'fin monitoring');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement