sleep Befehl in PHP

Hallo zusammen,
wäre nett wenn ich einen Tipp von euch bekommen könnte.

Habe ein einfaches PHP-Script, mit dem ich 4 Sonoff IP Steckdosen mit get nacheinander ein- und ausschalte.
Dazwischen ist immer eine Pause mit sleep. Läuft auch durch. Beim testen habe ich jedoch festgestellt, das je länger ich die sleep Zeit setze um instabiler wird es. Also bei durchgehend 10 sec ist alles kein Problem. Wenn ich jedoch zum Beispiel 5 min nehme, dann wird es irgendwie instabil. D.h. es läuft irgendwie länger als es sollte oder läuft auch mal mehrfach.

Kann es sein, das der sleep befehl nur bis zu einer bestimmten Zeitspanne sinnvoll einsetzbar ist?, oder sollte ich da lieber etwas anderes für die Pause im Script nehmen?

Danke fürs Antworten!

PS: set_time_limit habe ich auf 0 gesetzt.

Du darfst Scripte nicht so lange blockieren. Dafür gibt es Ereignisse, wie den Scripttimer.
Doku zum ips_sleep gelesen?
https://www.symcon.de/service/dokumentation/befehlsreferenz/ablaufsteuerung/ips-sleep/
Michael

Was bedeutet denn get in diesem Zusammenhang genau?

„mit get nacheinander ein- und ausschalte“

Gesendet von iPhone XS mit Tapatalk

jetzt ja…da muss das anders…danke Michael für die Info!

@Boui

mit get meinte ich das so: @$Datei = file_get_contents(„http://10.10.10.82/cm?cmnd=Power%20On“, false, NULL, 0,0);

…würde performancetechnisch etwas dagegen sprechen, wenn ich aus dem php Script eine Windows-Batchdatei aufrufe und dort den Timeout Befehl verwende? Ich möchte lieber gern alles in ein Script quetschen, finde ich übersichtlicher…die IP Sonoff Switche würde ich dann alternativ über MQTT Mosquitto schalten (mosquitto_pub…).

Moin,

schau mal hier Kann man untendlich laufende php Skripte/Batchdateien beenden? dann siehst du, dass das zu Problemen führen kann.

Timeout benötigt Rechte, die möglicherweise durch IPS_Execute nicht gegeben sind. Ich weiß aus anderen Versuchen, dass z. B. bei Remote Aufrufen mit psexec(64) aus den Sysinternals, der Timeout Befehl nicht benutzt werden kann. Im Rahmen mit IPS_Execute habe ich es allerdings nicht konkret getestet.

Obwohl ich deine Vorgehensweise gut verstehen kann so würde ich dennoch davon abraten :wink:

Gruß
Hans

Einfach so umsetzen und schon ist alles ohne sleep in einem Script.
https://www.symcon.de/forum/showthread.php?p=331099
Michael

Na das probiere ich mal aus, danke! Gruß Klaus