« Zurück zu Produkt

Dokumentation

IPS_GetTimers

 array IPS_GetTimers (array $TimerIDs) 

Parameterliste

TimerIDs

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

Rückgabewert

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

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 Timer mit den IDs TimerIDs in einem Aufruf. Ist TimerIDs leer, werden alle Timer geliefert. Existiert einer der Timer nicht, schlägt die Funktion mit "Timer #... 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_GetTimerList und IPS_GetTimer ermittelt werden.

Timer werden von Instanzen registriert, beispielsweise von PHP-Modulen mit RegisterTimer und SetTimerInterval oder als einmalige Timer mit RegisterOnceTimer. Auch die eingebauten Module nutzen Timer, z.B. "SearchExpires" für das Ende des Suchmodus. Die TimerIDs werden zur Laufzeit vergeben und sind nicht dauerhaft, einmalige Timer verschwinden nach ihrer Ausführung. Skript-Timer (IPS_SetScriptTimer) sind zyklische Ereignisse und gehören nicht zu diesen Timern.

Beispiel

// Alle Timer einer Instanz über die JSON-RPC Schnittstelle anzeigen
$rpc = new JSONRPC("http://user:password@127.0.0.1:3777/api/");
foreach ($rpc->IPS_GetTimers([]) as $timer) {
    if ($timer['InstanceID'] == 12345) {
        printf("%s: %d ms, nächste Ausführung: %s\n", $timer['Name'], $timer['Interval'], $timer['NextRun'] ? date('H:i:s', $timer['NextRun']) : '-');
    }
}

/* liefert z.B.:
Update: 60000 ms, nächste Ausführung: 12:01:00
*/
Haben Sie noch Fragen?