Bekomme bei diesem Script folgenden Fehler:
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:\Programme\IP-Symcon\scripts.currentscript</b> on line <b>21</b><br />
Wobei Line 21 die vorletzte Zeile ist.
Die hatte ich schon benutzt und einen Beitrag gefunden.
Aber die max_execution_time zu ändern hatte bei mir nur eine erneute Fehlermeldung zur Folge.
Aber ich habe nun ein wenig gegoogelt und diese Funktion
set_time_limit (0);
brachte die gesuchte Lösung.
Sleep darf nicht größer als 30 sek … steht nur nirgends
Ich arbeite immer lieber mit Script Timmer … die sind „MultiTask“
also ich teile das Script in zwei Teile … den Hauptteil … und ein zweiter der nach soundsoviel sekunden erst gestartet wird … denn sonst bremmst du das ganze ipsymcon aus … da alle scripte „schlafen“ gehen … :eek:
@Obicom
OK verstehe ich, werde ich so machen. @Olli
Genau, hatte den Sleepwert auf 240 stehen und es geht, aber wenn die anderen Scripte dann auch schlafen gehen… ist Obis Lösung wohl besser.
Bei einem Sleep in einem PHP-Skript werden die andere PHP-Skripte jedoch (meist) nicht lahmgelegt. Der Grund: IPS ist auch bei PHP-Skripten Multithreadingfähig - bis zu 10 Skripte (das ist der default, konfigurierbar) können parallel abgearbeitet werden.
Aber hier ist auch das Problem: nach 10 Threads ist (normalerweise) Schluss - wenn du das bei deiner Programmierung nicht beachtest oder Fehler machst ist lustiges Fehlersuchen angesagt…
Am sichersten und stabilsten läuft IPS mit vielen kurzen scripten. Das hat nichts mit schlampiger programmierung zu tun sondern liegt in der Natur der Dinge. Sleep ist eigentlich ein Befehl den man meiden sollte wo es geht.