Python

Befolgen Sie zunächst die Anweisungen an kompilieren und installieren Litesync aus dem Quellcode oder verwenden Sie die vorkompilierte Binärdateien für IhrePlattform.Sie können mit der kostenlosen Version beginnen.

Installieren Sie dann das Litesync -Modul gemäß der Python -Version:


Python 3

pip install litesync


Python 2.7

git clone --depth=1 https://gitlab.com/litesync/python2 litesync-python2

cd litesync-python2

python setup.py build

sudo python setup.py install


Beispielcode

Das litesync-Modul hat dieselbe API wie das sqlite3-Modul

import litesync as sqlite3
import json
import time

conn = sqlite3.connect('file:app.db?node=secondary&connect=tcp://server:port')

# Überprüfen Sie, ob die DB fertig ist
while not conn.is_ready():
    time.sleep(0.250)

# Jetzt können wir die DB -Verbindung verwenden
...


Benachrichtigung aktualisieren

Ihre Anwendung kann benachrichtigt werden, wenn die lokale Datenbank aufgrund der Synchronisation mit Remote -Knoten aktualisiert wird.Die Benachrichtigung erfolgt über eine benutzerdefinierte Funktion.

def on_db_update(arg):
print("update received")

conn.create_function("update_notification", 1, on_db_update)

Wichtig: Die Benachrichtigungsfunktion wird vom Worker -Thread aufgerufen.Die Anwendung sollte nicht die DB -Verbindung innerhalb der Benachrichtigungsfunktion verwenden und muss so schnell wie möglich zurückkehren!Die Anwendung kann die Benachrichtigung vor der Rückkehr in den Haupt -Thread übertragen.




Fehlerbehebung

Wir können auch das SQLite3 -Modul des Python unter Linux und Windows verwenden

In beiden Fällen interagiert das SQLite3 -Modul von Python mit der SQLite -Bibliothek des Systems


Linux

Wir haben 2 Optionen, um Python zu erstellen, um die modifizierte SQLite -Bibliothek mit Litesync zu verwenden:


A.Verwenden Sie LD_LIBRARY_PATH beim Öffnen der Anwendung

LD_LIBRARY_PATH=/usr/local/lib/litesync python app.py

B. Lassen Sie das SQLite3 -Modul die Litesync -Bibliothek verwenden

sudo apt install patchelf

patchelf --replace-needed libsqlite3.so.0 liblitesync.so /usr/lib/python2.7/lib-dynload/_sqlite3.so

Um zu überprüfen, ob es erfolgreich war:

ldd /usr/lib/python2.7/lib-dynload/_sqlite3.so


Windows

Ersetzen Sie die Datei sqlite3.dll im Ordner \Python\DLLs durch die enthaltende Litesync (umbenennen Sie von litesync.dll nach SQLite3.dll).


Verwendung

In diesem Fall verwenden wir das SQLite3 -Modul anstelle des Litesync -Moduls

import litesync as sqlite3
import json
import time

conn = sqlite3.connect('file:app.db?node=secondary&connect=tcp://server:port')

# Überprüfen Sie, ob die DB fertig ist
while not conn.is_ready():
    time.sleep(0.250)

# Jetzt können wir die DB -Verbindung verwenden
...