Tom: get_lock, release_lock funktioniert nicht richtig

Beitrag lesen

Hello,

Pauschal würde ich sagen: Nutze Transaktionen. Das spart dir die Locks und den sehr fragilen Mechanismus, den du da gerade baust.

Transaktionen sind nur innerhalb eines verbindungsorientierten/zustandsorentierten Dialoges sinnvoll, nicht aber über einen oder mehrere HTTP-Roundturn(s). Da muss man zwangsweise ins Datenmodell eingreifen und dies dann in der Vorgangsbearbeitung berücksichtigten.

Konkret? Man kann also nicht innerhalb einer Transaktion, die man gestartet hat, den SELECT machen und die notwenigen Inserts/Updates für die Geldgutschrift, und dann die Transaktion committen, weil der Browser-Request "Storno-Aktion machen" gesagt hat?

_Innerhalb_ einer Transaktion...

Aber wann endet die Transaktion und ist der Vorgang dann auch schon beendet?

Dabei übersetze ich jetzt grob:

Transaktion = datenverändernde Maßnahme (innerhalb eines HTTP-Zyklus)
    Vorgang = datenverändernde Maßnahme über mehrere (HTTP-)Zyklen hinweg.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://restaurant-zur-kleinen-kapelle.de