Verwenden der Firebase-Uhr, um Änderungen zu timestamp

9

Wir haben ein Dataset in Firebase von mehreren Clients aktualisiert. Wir möchten die letzte Änderung der Datetime des Datasets verfolgen. Wir können uns nicht darauf verlassen, dass der Client das geänderte Datetime-Datum einstellt, da die lokale Uhr nicht mehr synchron sein kann.

Gibt es eine Möglichkeit, die Zeitmarke eines Firebase-Tags für ein Dataset basierend auf seiner Uhr zu verwenden, um die letzte Änderung zu verfolgen?

    
Kartik 23.10.2012, 18:38
quelle

2 Antworten

5

Wir arbeiten gerade an einigen Funktionen, um dies zu unterstützen, aber wir haben momentan keine Möglichkeit, dies zu tun. Beachten Sie jedoch, dass die von "push ()" erstellten IDs chronologisch geordnet sind, und wir kompensieren den clientseitigen Taktversatz so gut wir können, wenn wir sie erstellen. Wenn Sie also nur versuchen, etwas sicherzustellen schreibt in eine Liste in der Reihenfolge, können Sie das mit push ().

Ich würde gerne erfahren, wie Sie diese Funktion aussehen lassen möchten. Wenn Sie eine Sekunde haben, würde ich eine E-Mail an andrew bei Firebase schätzen ...

Update: Firebase unterstützt jetzt die Einstellung von Server-Zeitstempeln sowie den Zugriff auf die Serverzeit direkt auf dem Client. Siehe die Dokumentation hier: Ссылка

    
Andrew Lee 23.10.2012, 19:21
quelle
0

Wir sind auf dem gleichen Boot ... und ich denke, früher oder später werden viele Firebase-Kunden dieses Problem haben, da es sich um ein "neues Problem" handelt, mit dem wir uns nie im alten "Client-Server" konfrontiert sahen. Tage.

Die aktuelle Lösung ( noch in der Herstellung ) besteht darin, den Zeitunterschied zwischen dem Client und dem OUR-Server bei der Initialisierung zu schätzen und sie zu kompensieren,
Also - wo wir hatten x = new Date () ,
es ist jetzt x = ourDateService.now ()

Unsere now () Funktion macht einfach new Date () + diff

Dies funktioniert für uns, da wir keine Millisekundengenauigkeit benötigen und es sich um eine Single-Page-App handelt, die einmal geladen wird, sodass wir unserenDateService beim Laden diff-überprüfen und initialisieren können, aber diese Lösung nicht funktioniert alle ( natürlich, Sie können es in den lokalen Speicher / Cookie speichern und jeden Tag oder so erneut validieren ).

    
oori 27.10.2012 00:09
quelle

Tags und Links