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
...