Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs ZODB: aktuelle Connection ermitteln und synchronisieren

ZODB: aktuelle Connection ermitteln und synchronisieren

In manchen Fällen, hat man langlaufende Prozesse, die Änderungen der ZODB mitbekommen sollen. Dies geschieht normaler Weise beim Begin einer Transaction.

Wenn wir einen aktuelleren Stand der Datenbank sehen möchten, können wir wie folgt die aktuelle Transaktion abbrechen.

import transaction
transaction.abort()

Leider bekommt man hier erst die aktuellen Daten, wenn eine andere Transaktion commited wurde.

Wie aber können wir sicher stellen, dass wir den tatsächlich aktuellen Datenbestand sehen?

Die Lösung heißt Connection.sync()

Die aktuelle Connection bekommen wir, in dem wir sie uns von einem Objekt wie folgt holen.

connection = object._p_jar

Die Connection bietet uns eine Methode sync an, wenn wir diese aufrufen, haben wir danach den tatsächlich aktuellen Datenbestand zur Verfügung.

connection.sync()