DbLog + SubProcess - Zusatzoption für Datenabruf mit SVG

Begonnen von DS_Starter, 05 Februar 2023, 22:50:00

Vorheriges Thema - Nächstes Thema

DS_Starter

Guten Abend Rudi,

nachdem DbLog inzwischen sehr gut mit dem SubProcess den Logging Prozess abbildet, wäre es ein möglicher weiterer Schritt die Daten für SVG-Plots über diesen Weg zu liefern.

Momentan haben wir ja zwei Möglichkeiten:

a - ohne plotFork -> die Daten werden im Hauptprozess geliefert was den Nachteil von möglichen Blockierungen hat
     wenn die DB nicht oder nur langsam antwortet

b - mit plotfork im Nebenprozess -> prinzipiell non-blocking mit dem Nachteil  bei vielen SVG's in
     einem Raum mit entsprechend vielen parallelen forks evtl. in Speicherngpässe zu laufen (Cannot fork ...)

Eine dritte Möglichkeit könnte nun sein, SVG die Daten über den vorhandenen Subprozess zu liefern. Das wäre dann sowohl non-blocking als auch speicherschonend.

Nun habe ich schon ein bisschen überlegt wie die Architektur eventuell dafür aussehen könnte, bin aber zu keinem Ergebnis gekommen. Den Call (kommt ja über get) über den Subprocess zu leiten ist ja nicht das Problem. Aber die Kommunikation mit SVG ist dann asynchron auszuführen und die Daten über die Read-Schleife an SVG zurückzugeben.

Ich denke es ist allgemein eine größere Herausforderung eine solche Integration hinzubekommen, aber wenn es funktioniert könnte ich mir vorstellen dass FHEM davon profitieren würde.

Wie denkst du darüber ? Wäre das machbar und von Interesse ?

VG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter