SVG plotfork

Begonnen von Happy Fhem User, 08 Dezember 2013, 11:26:12

Vorheriges Thema - Nächstes Thema

Happy Fhem User

Guten Tag in die Runde,

mein FHEM Prozess verarbeitet während der Generierung von SVG Plots keine weiteren Anfragen/Steuerungsaufgaben.
Die Suche und Kommentare in der Dokumentation deuten daraufhin, dass die SVG Erzeugung geforkt (in einem parallel Prozess) geschehen kann.
Ich konnte auf meinem Raspberry nie mehr als einen FHEM-Prozess beobachten, trotz gesetzten plotfork-Attribut in der FHEMWEB-Instanz.

Ein Blick in den Programmcode von 01_FHEMWEB.pm offenbarte folgende interessante Programmzeilen:

01_FHEMWEB.pm:    return if(($arg =~ m/cmd=showlog/) && ($pid = fork));
01_FHEMWEB.pm:                $cmd !~ /^showlog/ &&


der zugehörige Web-Request zum Erzeugen des SVGs lautet:

GET /fhem/SVG_showLog?dev=HEIZUNG_PLOT&logdev=FileLog_HEIZUNG&gplotfile=heizung&logfile=CURRENT&pos=


Auch ein Abändern des Patterns auf "showLog" im Programmcode von 01_FHEMWEB.pm brachte keine Besserung.

Deswegen meine Frage(n):

  • Kann der FHEM Prozess für die Erzeugung des SVGs forken und dann weiterhin seine Steuerungsaufgaben übernehmen?
  • Falls ja, wie aktiviere ich das auf meinem FHEM?

Vielen Dank für eure Zeit & Hilfe!

rudolfkoenig

Danke fuer den Hinweis, habs gefixed, eingecheckt, und fuer update bereitgestellt. Letzteres wegen einem anderen Bugfix, der mehr Anwender betrifft.

Achtung bei plotfork: die Browser setzen bis zu 6 Requests parallel ab, d.h. FHEM ist damit 6-mal im Hauptspeicher. Das sollte laut Theorie wg. Page-COW zwar kaum Mehrbelastung bringen, es ist aber trotzdem der Fall, ein FB7390 faellt beim gesetzten plotfork gerne um. Ich waere dankbar, wenn mich hier jemand aufklaeren koennte.

Happy Fhem User

Super, danke für den schnellen Fix.

Ich kann bestätigen, jetzt läufts parallel und FHEM arbeitet während der Erzeugung parallel weiter.

Danke!