MV / nodes.json - Delay für die Dauer der Generierung hinterlegen

Moin Freifunker,

wie löst ihr bei euren Meshviewern, die kleine Lücke die entsteht, wenn die [nodes.json][1] durch das [Backend][2] neu generiert wird?

Während die nodes.json neu erstellt wird, kann diese ja vom [Meshviewer][3] nicht korrekt eingelesen werden, was dazu führt das dieser beim Aufruf einen Fehler ausgibt. Ich habe das Probelm mit einem kleinen Delay (sleep xx) im Script gelößt. Für den Meshviewer selber ist das auch ok, jedoch wird dadurch die [Grafana Statistik][4] zerstückelt.

Hab ihr nen Tipp für mich, wie man das sauber hinbekommt?

Grüße
Tarnatos
[1]: http://mesh.ffnord.net/data/nodes.json
[2]: GitHub - ffnord/ffmap-backend: THIS PROJECT DOESN'T HAVE A MAINTAINER!
[3]: http://mesh.ffnord.net
[4]: https://statistik.hamburg.freifunk.net/dashboard/db/freifunk-ubersicht?var-region=ffnord

Du könntest die beiden Prozesse entkoppeln, indem du Grafana eine Kopie der nodes.json einlesen lässt. Also erst das Backend die nodes.json schreiben lassen und nach Abschluss die fertige Datei rüberkopieren.

1 Like

Ja das wäre eine Möglichkeit.

Ich muss das bei uns auch nochmal umstricken. Das Knotenformular läuft auf einem anderen Server, das ist total ungünstig.

So habe ich das auch gelöst und es funktioniert seit zwei Monaten ohne Störung.

1 Like

Da es hier scheinbar um die Statistik auf meinem Server geht… mein Skript das die Nodes.JSON runterlädt berechnet das nächste Update so:
$next_update = @last_update + interval + 10 + (interval * Random.rand(0.3))
Last Update wird aus der alten JSON ausgelesen.
Intervall sind zur Zeit 60 Sekunden.
Pauschal werden 10 Sekunden addiert und dann noch bis zu einem Drittel des Intervalls.
War das letzte Update also z.B. um 12:03:07 laut JSON, dann wird mein Skript frühestens 12:04:17 nach einer neuen Version suchen, Next Update beginnt höchstens 12:04:47, durch die Sleeps in meinem Skript kann sich der nächste Durchgang bis 12:04:57 hinziehen.
Ich werde mal versuchen die Zeiten etwas zusammenzustauchen, damit das etwas besser vorhersehbar ist.

@todendah
Nein das hast du falsch verstanden. Man kann nur das Problem nur schön bei den Grafana Grafiken sehen. Das hat überhaupt nichts mit dir oder deinem Server zu tun. Ganz im Gegenteil, das liegt eher an meinem (wahrschlich stümperhaften) zusammengeflicke der nodes.json.

Das wiederum liegt am hin und her kopieren der Daten von verschiedenen Servern.

Ich bin dir für die Aufnahme auf deinem Server sehr sehr dankbar, also bitte beziehe diesen Fred nicht auf dich.

Ich habe das nicht als Kritik verstanden, wenn du das befürchtest. Ich habe einfach nochmal über meine Lösung nachgedacht da diese zumindest indirekt damit zusammenhängt :slight_smile:

1 Like

Falsche Erwähnung? Meintest du @tokudan?

Korrekt sorry.

202020

1 Like