Ankündigung

Einklappen
Keine Ankündigung bisher.

Transaktion Rollback bei Timeout?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Transaktion Rollback bei Timeout?

    Hallo,

    kann man irgendwie alle vorgenommenen Datenbankeingriffe rückgängig bei einem Timeout des Requests machen? Also wenn ein Script zu lange ausgeführt und nicht zu Ende verarbeitet wird, soll dann alles auf den Ausgangszustand gebracht werden. Geht das?

    Gruß
    DMX


  • #2
    Bin mir nicht sicher, ob eine Endlosschleife aufgelöst werden würde. Bei Fehlern kannst du ne Exception fangen und rollback machen. Unterstützt aber nicht jede Datenbankengine (bei mysql meines Wissens nach nur InnoDB).

    Such dir ein Framework, verwende den Datenbank-Adapter, dann sieht das in etwa kurz gesagt so aus:

    PHP-Code:
        public function insertFoo() {
            try {
                
    $dbA->startCommit();
                
    //ganz viele queries
                
    $dbA->commit();
                return 
    $id;
            } catch (
    Exception $e) {
                
    $dbA->rollBack();
                throw (
    $e);
            }
        } 
    I like cooking my family and my pets.
    Use commas. Don't be a psycho.
    Blog - CoverflowJS

    Kommentar


    • #3
      Ok, aber wenn du ein Script aufrufst, dann verlängert sich doch nicht automatisch die execution time, nur um eine Exception zu behandeln, oder? Wenn ein Script zu lange ausgeführt wird, dann bricht er doch einfach nach Zeit x ab und fertig ist?!

      Kommentar


      • #4
        Normalerweise reagiert jede transaktionale Datenbank bei einem Abbruch der Verbindung mit einem Rollback. Bei persistenten Verbindungen ist es eventuell etwas schwieriger.

        Davon abgesehen:
        PHP: Verbindungssteuerung - Manual
        www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
        Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih

        Kommentar

        Lädt...
        X