« Zurück zu Produkt

Dokumentation

IPS_GetScriptThreads

 array IPS_GetScriptThreads (array $ThreadIDs) 

Parameterliste

ThreadIDs

Array mit den IDs der Threads. Bei einem leeren Array werden alle Threads geliefert

Rückgabewert

Ein Array mit einem Eintrag je Thread in der Reihenfolge von ThreadIDs. Ist ThreadIDs leer, ist die Reihenfolge der Einträge nicht garantiert. Jeder Eintrag hat denselben Aufbau wie bei IPS_GetScriptThread.

Beschreibung

Warning

Diese Funktion ist nur für den internen Gebrauch vorgesehen und kann sich jederzeit ohne Ankündigung ändern oder entfallen.

Die Funktion liefert die Informationen der Threads mit den IDs ThreadIDs in einem Aufruf. Ist ThreadIDs leer, werden alle Threads geliefert. Existiert einer der Threads nicht, schlägt die Funktion mit "ScriptThread #... does not exist" fehl.

Warning

Die Funktion ist für den Abruf über die JSON-RPC Schnittstelle vorgesehen, z.B. für die Anzeige in der Konsole. In PHP-Skripten steht sie nicht zur Verfügung ("This function is not available for PHP") – dort kann das Ergebnis über IPS_GetScriptThreadList und IPS_GetScriptThread ermittelt werden.

PHP-Skripte werden in einem festen Pool von Threads ausgeführt. Die Anzahl der Threads legt der Spezialschalter ThreadCount fest (Standard 50, mindestens 25), die Threads haben die IDs 1 bis ThreadCount. Innerhalb eines Skripts enthält die Systemvariable $_IPS['THREAD'] die ID des eigenen Threads.

Beispiel

// Alle gerade beschäftigten Threads über die JSON-RPC Schnittstelle anzeigen
$rpc = new JSONRPC("http://user:password@127.0.0.1:3777/api/");
foreach ($rpc->IPS_GetScriptThreads([]) as $thread) {
    if ($thread['StartTime'] > 0) {
        printf("Thread %d: %s (%s) seit %d s\n", $thread['ThreadID'], $thread['FilePath'], $thread['Sender'], time() - $thread['StartTime']);
    }
}

/* liefert z.B.:
Thread 3: scripts/12345.ips.php (RunScript) seit 0 s
*/
Haben Sie noch Fragen?