FHEM Forum

FHEM => Automatisierung => Thema gestartet von: pula am 13 April 2023, 20:44:42

Titel: system aufrufe ohne blocking
Beitrag von: pula am 13 April 2023, 20:44:42
Hallo,
ist eigentlich vermutlich eine Anfängerfrage, bin mir aber nicht sicher, wohin ich das poste.
Habe etliche Aufrufe in dieser Art:
system("solar.py peo_betriebsart&")}Es kommt mir so vor, als ob diese Aufrufe fhem blocken würden (bin mir da nicht ganz sicher).
Weiß jemand, ob/wie man das hinkriegt, ohne zu blocken? Crontab wär natürlich eine Möglichkeit, aber irgendwie nicht gut, wenn eh fhem läuft...
Cheers,
Pula
Titel: Aw: system aufrufe ohne blocking
Beitrag von: MadMax-FHEM am 13 April 2023, 22:26:10
https://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Neben vielen Threads zu dem Thema im Forum...

Gruß, Joachim
Titel: Aw: system aufrufe ohne blocking
Beitrag von: Otto123 am 14 April 2023, 09:48:50
Hi,
Zitat von: pula am 13 April 2023, 20:44:42Weiß jemand, ob/wie man das hinkriegt, ohne zu blocken?
Wenn man sehen könnte was dieses Script "hinkriegen" soll?
system() erzeugt einen Child Prozess von FHEM
Durch Dein & am Ende sollte die Ausführung im Hintergrund geschehen. Was nichts darüber aussagt wie Dein Script arbeitet und welche Belastung im System dabei entsteht.
Titel: Aw: system aufrufe ohne blocking
Beitrag von: pula am 14 April 2023, 13:29:52
Hallo und danke für Eure Antworten,

ja, das ist mir klar, ich bin beruflich Linux-Admin ;-)
Ich habe hier ein python-Skript geschrieben, das per vnc die Heizung periodisch abfragt. Und da mein fhem recht häufig laggt (trotz Industrie-SSDs im Server), habe ich dieses Skript im Verdacht, hier irgendwie zu hängen. Das Skript selber braucht nicht wirklich viele Ressourcen und die Auslastung der VM, auf der fhem läuft ist minimalst....
Ich formuliere die Frage mal um: Hat jemand eine Idee, wie man herausfinden kann, warum fhem laggt? Bin jetzt seit über 6 Jahren mit fhem unterwegs, aber manchmal braucht es halt Schwarm-Wissen...

Cheers,
Pula
Titel: Aw: system aufrufe ohne blocking
Beitrag von: MadMax-FHEM am 14 April 2023, 13:48:44
Freezemon und apptime...

Und fhem ist "single-Threaded" und auch Warten ist dann eben schlecht, nicht nur hohe Last...

Gruß, Joachim
Titel: Aw: system aufrufe ohne blocking
Beitrag von: JoWiemann am 14 April 2023, 13:50:36
Zitat von: pula am 14 April 2023, 13:29:52Hallo und danke für Eure Antworten,

ja, das ist mir klar, ich bin beruflich Linux-Admin ;-)
Ich habe hier ein python-Skript geschrieben, das per vnc die Heizung periodisch abfragt. Und da mein fhem recht häufig laggt (trotz Industrie-SSDs im Server), habe ich dieses Skript im Verdacht, hier irgendwie zu hängen. Das Skript selber braucht nicht wirklich viele Ressourcen und die Auslastung der VM, auf der fhem läuft ist minimalst....

Pula

Hallo Pula,

warum triggers Du das Script nicht mittels cron und lässt das Script nach Fhem schreiben? Oder Du schaust Dir das mal an: https://forum.fhem.de/index.php?msg=1094931

Grüße Jörg
Titel: Aw: system aufrufe ohne blocking
Beitrag von: pula am 14 April 2023, 13:56:49
Danke für Eure Tips!
hab mal apptime angeworfen und lass mal einen tag laufen...
pythonbinding hab ich eh schon für ring im einsatz, sollte ich mir wirklich mal näher ansehen.
mein damaliger ansatz (da gab es fhempy noch nicht) war halt, wenn ich schon fhem nutze, warum cronjobs. aber eigentlich könnte ich die paar aufrufe auch auf cron umstellen...
danke auf jeden fall, manchmal sieht man den wald vor lauter bäumen nicht...
Cheers,
Pula
Titel: Aw: system aufrufe ohne blocking
Beitrag von: Otto123 am 14 April 2023, 15:27:36
es gibt da auch noch freezemon ;)