Commit b8f0d35e authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Synchro: Lancement d'une exception lorsque l'exécution des procedures échoue.

parent 0e9aeae0
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -80,23 +80,27 @@ class SynchroService
        try {
            $connection->executeQuery($plsql);
            $connection->commit();
            $status = 'SUCCESS';
            $success = true;
            $message = null;
        } catch (DBALException $e) {
            $status = 'FAILURE';
            $message = "Erreur rencontrée lors de l'exécution des procédures de synchro (import) : " . PHP_EOL .
                $e->getTraceAsString();
            $success = false;
            $message = "Erreur rencontrée lors de l'exécution des procédures de synchro (import) : " . PHP_EOL . $e->getMessage();
            try {
                $connection->rollBack();
            } catch (ConnectionException $e) {
                $message .= PHP_EOL . "Et en plus le rollback a échoué!";
            }
        }

        } finally {
            $finishDate = date_create();
            $status = $success ? 'SUCCESS' : 'FAILURE';
            $this->log($startDate, $finishDate, $plsql, $status, $message);
        }

        if (! $success) {
            throw new RuntimeException($message);
        }
    }

    /**
     * Retourne, pour un service donné, les appels ORDONNÉS de procédures de synchronisation à lancer.
     *