Script Anzahl

Hallo an Alle,

bekomme ich irgendwie raus ob und wie oft ein Script schon läuft?

Wie du herausbekommst, ob ein Skript läuft weiß ich nicht. Aber wie oft wäre einfach. Du erhöst bei jedem Lauf des Skripts eine IPS Variable. Wenn du diese dann auch noch ins Archiv schreibst, weißt du genau, wann es gelaufen ist. Ein Blick ins Log könnte auch helfen bzw. könntest du auch mit IPS_LogMessage einen eigenen Eintrag erstellen. Bei Start und Ende dann könntest du theoretisch sogar sagen, ob es noch läuft.

Das hätte ich dann auch so gemacht. Eine Funktion gibt es da wohl nicht?

Ist nicht dokumentiert aber probiere mal

IPS_GetScriptThreadList()

Das liefert lediglich ein Array von 0-199 (bei mir, ich hab 200 Threads). Allerdings die Funktion IPS_GetScriptThread(#) mit der Threadnummer 1-199 (oder mehr oder weniger) liefert die Threadinformationen die man auch in der PHP-Übersicht sieht. Bringt aber eigentlich nichts, weil man ja nicht weiß welcher Thread das Skript möglicherweise abarbeitet.

Du könntest ja in allen Threads schauen, ob das Script dort läuft. Dann kannst du auch gleich zählen, wie oft es parallel läuft. Wenn du aber verlässlich die Summe über alle Aufrufe haben willst, wirst du wohl nicht um das Hochzählen einer Variablen direkt im Skript herumkommen.

Da muss das Skript aber extrem schnell sein. Das wirst nicht schaffen. Aber theoretisch möglich.

Ob ein Skript schon läuft könnte man über eine Semaphore ermitteln.

Ich möchte ein Script mehrfach starten aber nicht unendlich oft.