NEWS
[JS] Readfile cached ?
-
Hallo Zusammen,
ich lese in einem Skript immer wieder die selbe Datei aus, die sich minütlich ändert. Leider scheint ioBroker an irgend einer Stellediese Datei zu cachen, denn ich bekomme immer wieder die selben Daten zurück, obwohl sich der Inhalt der Datei definitiv geändert hat.
Wenn ich iobroker neu starte, bekomme ich beim nächsten Durchlauf auch wieder die aktuelle Datei.
Kann man das irgendwie umgehen?
schedule("* * * * *", function () { readFile('javascript.admin', 'nibe_load.data', function (error, data) { items.forEach(function(ID) { getValues(data,ID); }); console.log(data); }); });
Viele Grüße
THPS
-
hast mal mit nem close probiert
-
Du meinst ein CloseFile() ? Gibt es soetwas im Javascript? Unter Functions Documentation habe ich nichts dergleichen gefunden.
Ich habe das jetzt erstmal so "gelöst", das die Datei halt jedes mal einen Timestamp mit im Namen bekommt und danach wieder gelöscht wird.
Nicht schön, aber es funktioniert.
-
Hi,
ich muss das Thema nochmal hochholen, denn auch ich habe den Effekt. Speichere ich eine JSON Datei im Adapter, dann wird diese korrekt in der Instanz abgelegt, also unter /iobroker-data/files/adaptername.0/. Ich kann mit readfile (aus der conn.js / wird z.B. im VIS Adapter verwendet) die JSON Datei auch lesen aber dann greift der Cache Egal ob ich die Datei ändere / umbenenne oder sogar lösche - ich kann die Datei immer erfolgreich lesen. Nicht mal ein Adapter Neustart ändert das. Erst wenn ich ioBroker stoppe / starte bekomme ich beim lesen einen neuen State / Ergebnis.
Hat jemand eine Idee? Ich weis nicht so recht wo ich weiter machen soll…
Danke!