permanente Berührung der epg.data

  • Hallo,


    ich verwende den VDR in der Version 2.2.0 (Debian Testing-Paket) mit dem ebenfalls paketiertem VNSI-Plugin. Ich habe in der setup.conf mittels "EPGScanTimeout = 0" die automatische EPG-Aktualisierung unterbunden. Das funktioniert auch grundsätzlich. Jedoch wird in regelmäßigen Abständen (bei mir sind es zehn Minuten) einen leere epg.data angelegt. (Selbst wenn eine leere Datei existiert, wird diese überschrieben.) Woran liegt das? Clients sind nicht verbunden lt. "--log=2". Wäre es ggf. möglich, dieses Verhalten zu ändern.


    Würde mich über eine kurze Antwort/Erklärung freuen. Vielleicht wäre eine Anpassung des Quelltextes diesbezüglich möglich.


    Viele Grüße!


    Hoschie Max

  • Der VDR schreibt in regelmäßigen Abständen Konfigurationsdateien auf die Platte - wozu sollte man veraltete EPG-Informationen vorhalten?
    Die Datei blind mit den Daten aus dem im Arbeitspeicher befindlichen EPG-Daten zu überschreiben ist effizienter als sie erst einzulesen, zu parsen, dann zu mergen und wieder neu zu schreiben (was im "normalen" Betrieb immer nötig wäre).


    Worum geht es dir eigentlich? Falls du deine Festplatten durchschlafen lassen willst, lass den VDR einfach seine Konfigurationsdateien in eine Ramdisk schreiben und kopiere sie beim Herunterfahren auf die Platte und beim Booten wieder zurück in die Ramdisk oder nimm eine SSD, der er nichts ausmacht alle 10 Minuten aus dem Energiesparzustand aufzuwachen...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Nach 19 Minuten schon eine Antwort: Das nenne ich den Status "Im Forum Zuhause" verdient.


    Besten Dank dafür!


    Nun zu meiner Frage: Du hast mit deiner Annahme recht. Mir ist aufgefallen, dass eine meiner Festplatten in letzter Zeit ein wenig unausgeschlafen wirkte. Daher ging ich der Sache auf die Spur und erkannte den VDR als Übeltäter.


    Vielleicht zum Hintergrund meiner Frage und des momentanen Setups: Ich habe den VDR seit etwa einem Jahr in einem Docker-Container laufen. Zunächst auf einem ARM-Board (Cubietruck), nun auf einem HP Proliant-Server mit mehreren Docker-VMs. Wirklich persistieren muss ich aus dem Container heraus nur die Aufnahmen. Daher entschied ich mich für eine der sparsamen Festplatten als Speichermedium. Andere Container, die permanent unter Last stehen, wird ein anderer Storage-Bereich zugewiesen. Irgendwann kam ich auf die Idee, auch die EPG-Daten zu persistieren. Dabei unterlag ich der Fehlannahme, die Daten würden nur bei Beendigung des VDR gespeichert.


    Da dem nicht so war, überlegte ich mir, ich könnte das automatisierte Laden der EPG-Daten und die damit verbundene Speicherung unterdrücken und allein durch den VNSI-Client das Laden der EPG-Daten veranlassen. Denn wenn ein VNSI-Client verbunden ist, stehen auch die Chancen nicht schlecht, dass die Festplatte sowieso läuft, weil ich eine Aufnahme schaue und somit das Speichern der EPG-Daten nicht den Schlaf stört.


    Schade, funktioniert so nicht. Ist nun kein großes Problem, da sich - wie du auch schon angemerkt hast - sich andere Lösungen finden. Und dennoch halte ich die Herangehensweise des VDR diesbezüglich für nicht ganz sauber. Warum nicht die Daten im Hauptspeicher (welch Datenstruktur es auch immer sein mag, z. B. ein struct) mit einem Flag versehen, welches anzeigt, ob die Daten seit der letzten Speicherung verändert wurden ("dirty flag")?


    Aber ich möchte hier wirklich nicht den Bewesser geben, da ich bis dato keine einzige Zeile für den VDR geschrieben habe und ich insgesamt mit der Software zufrieden bin. Daher auch vielen Dank an die gesamte Entwicklergemeinde des VDR.


    Abschließende vielleicht noch eine Frage. Von diesem zehnminütigen Schreibzyklus der Konfig-Dateien, ist davon auch die channels.conf betroffen? Auch wenn ich explizit sage "UpdateChannels = 0"?


    Viele Grüße!


    Hoschie Max