Loading src/UnicaenEvenement/Controller/EvenementConsoleController.php +24 −1 Original line number Diff line number Diff line Loading @@ -33,12 +33,35 @@ class EvenementConsoleController extends AbstractConsoleController { $request = $this->getRequest(); $texte = ""; var_dump("ICI"); if (!$request instanceof ConsoleRequest) { throw new RuntimeException('Cette action doit être appelée depuis une console !'); } //Si un journal est en cours depuis trop longtemp, on le met en echec dans le journal pour cause de timeout //Celà évite d'être bloqué car un traitement est resté dans l'état En cours $journal = $this->getJournalService()->getDernierJournal(); if(isset($journal) && $journal->getEtat()->getCode() == Etat::EN_COURS){ $time = new DateTime(); $executionTime = $time->getTimestamp() - $journal->getDate()->getTimestamp(); if($executionTime >= self::MAX_EXECUTION_TIME) { // if(true) { // pour les test $log = $journal->getLog(); $log .= sprintf("-----------<br/>"); $log .= sprintf("Mise en echec le %s à %s car temps d'exécution trop long <br/>", $time->format('d/m/Y'), $time->format('H:i') ); $log .= sprintf("-----------<br/>"); $this->getConsole()->writeLine("\n* " . ($titre = "Mise en échec du journal #".$journal->getId()) . " *\n", ColorInterface::RED); $journal->setLog($log); $journal->setEtat($this->getEtatEvenementService()->findByCode(Etat::ECHEC)); $this->getJournalService()->update($journal); } } if ($this->getJournalService()->isRunning()) { throw new RuntimeException('Un traitement est déjà en cours !'); throw new \RuntimeException('Un traitement est déjà en cours !'); } $journal = new Journal(); Loading Loading
src/UnicaenEvenement/Controller/EvenementConsoleController.php +24 −1 Original line number Diff line number Diff line Loading @@ -33,12 +33,35 @@ class EvenementConsoleController extends AbstractConsoleController { $request = $this->getRequest(); $texte = ""; var_dump("ICI"); if (!$request instanceof ConsoleRequest) { throw new RuntimeException('Cette action doit être appelée depuis une console !'); } //Si un journal est en cours depuis trop longtemp, on le met en echec dans le journal pour cause de timeout //Celà évite d'être bloqué car un traitement est resté dans l'état En cours $journal = $this->getJournalService()->getDernierJournal(); if(isset($journal) && $journal->getEtat()->getCode() == Etat::EN_COURS){ $time = new DateTime(); $executionTime = $time->getTimestamp() - $journal->getDate()->getTimestamp(); if($executionTime >= self::MAX_EXECUTION_TIME) { // if(true) { // pour les test $log = $journal->getLog(); $log .= sprintf("-----------<br/>"); $log .= sprintf("Mise en echec le %s à %s car temps d'exécution trop long <br/>", $time->format('d/m/Y'), $time->format('H:i') ); $log .= sprintf("-----------<br/>"); $this->getConsole()->writeLine("\n* " . ($titre = "Mise en échec du journal #".$journal->getId()) . " *\n", ColorInterface::RED); $journal->setLog($log); $journal->setEtat($this->getEtatEvenementService()->findByCode(Etat::ECHEC)); $this->getJournalService()->update($journal); } } if ($this->getJournalService()->isRunning()) { throw new RuntimeException('Un traitement est déjà en cours !'); throw new \RuntimeException('Un traitement est déjà en cours !'); } $journal = new Journal(); Loading