Nodes.json ist (manchmal) kein valides JSON-file

Die nodes.json-Datei lässt sich (manchmal) nicht korrekt parsen, eben fand sich bei Character 266163 folgender Teilstring:

 ": true}, "autoup {"packets": 23771, 

da wurde also mittendrin etwas kaputt gemacht. So etwas ähnliches ist ja schonmal passiert, hat jemand eine Ahnung weshalb das auftritt?

Edit: war scheinbar nur temporär. Trotzdem seltsam.

Ich glaube, ich kann das Problem jetzt erklären. Die nodes.json Datei wird auf dem Server direkt in-place überschrieben, und scheinbar immer zur vollen Minute. Da ich die Datei per cronjob alle 10 Minuten zur vollen Minute abhole, schaffe ich es sehr regelmäßig, korrupte Daten abzuholen. Ich werde jetzt einfach 10 Sekunden warten im cronjob, und schauen, ob die Daten dann (meistens) konsistent sind.

Besser wäre es jedenfalls, im Skript auf dem Server die nodes.json nicht in-place zu überschreiben sondern in ein temp-file zu schreiben und dass dann zu verschieben.

2 „Gefällt mir“

Alternativ kannst du in deinem cron auch auf valides JSON prüfen, und falls es korrupt ist, nach 20 Sekunden noch mal ziehen.

Da der Fehler aber auch die Karte auf der Webseite betrifft, wäre eine richtige Änderung besser als ein Workaround in meinem Skript. Habe mal einen Pull-Request gemacht.

4 „Gefällt mir“