Hallo FHEM Developer,
wäre es möglich in den FHEM sleep Befehl noch eine Überwachung der sleep Zeit einzubauen?
Hatte versehentlich ein "sleep ²" anstatt "sleep 2" in einer myUtils Routine, was mir dann eine Endlosschleife verursacht hat.
Vermute dass die "²" keine gültige Zahl ist und dann als 0 interpretiert würde. Fände desshalb eine Überwachung auf > 0 sinnvoll.
Gruß Schlimbo
Hi Schlimbo,
die Überwachung ist drin, sleep ² ergibt ->
Cannot interpret ² as seconds
Du musst sie aber irgendwie beachten. :D
Der Blick des Laien in die fhem.pl ;)
return "Argument missing" if(!defined($sec));
return "Cannot interpret $sec as seconds" if($sec !~ m/^[0-9\.]+$/);
return "Last parameter must be quiet" if($quiet && $quiet ne "quiet");
Gruß Otto
Hallo Otto,
danke für die Klarstellung.
Okay, dann hat die falsche Zeit das "sleep" also komplett deaktiviert und der Befehl, der eigentlich zeitverzögert ausgeführt werden sollte würde sofort ausgeführt.
Dann sollte ich bei solchen "Loop-gefährdenden" Sub's das nächste mal besonders aufpassen:
sub NeatoPS3($$$){
....
fhem ('sleep ² NeatoPS3_2 quiet; {NeatoPS3("'.$REMOTE.'","'.$BOTVAC.'","")}');
Erschreckend finde ich es trotzdem, das ein so kleine Fehler einen kompletten INTEL NUC (mit FHEM im Docker Container) lahmlegt, über SSH war er nicht mehr zu erreichen, nur durch Steckerziehen könnte ich ihn wieder reanimieren.
Weiß zufällig jemand ob es in Docker eine Einstellung gibt, um zu verhindern, dass ein Container das Host System lahmlegt?
Edit: Wer Googlen kann ist klar im Vorteil ;)
https://docs.docker.com/config/containers/resource_constraints/#memory
Gruß Schlimbo