Dokumentation
IPS_GetFlowScriptStatistic
array IPS_GetFlowScriptStatistic (int $SkriptID)
Parameterliste
| SkriptID | ID des Ablaufplans |
Rückgabewert
Ein Array mit folgenden key => value Paaren:
| Index | Typ | Beschreibung |
|---|---|---|
| RunCount | integer | Anzahl der gestarteten Durchläufe seit dem Start von IP-Symcon |
| Queued | array | Eingereihte und laufende Durchläufe (siehe Durchlauf-Tabelle) |
| Completed | array | Die letzten (höchstens 25) beendeten Durchläufe (siehe Durchlauf-Tabelle) |
Durchlauf-Tabelle
| Index | Typ | Beschreibung |
|---|---|---|
| RunID | integer | Fortlaufende Nummer des Durchlaufs |
| QueueTime | integer | Unix Zeitstempel, zu dem der Durchlauf eingereiht wurde |
| StartTime | integer | Unix Zeitstempel des Starts (0 = noch nicht gestartet) |
| CurrentStep | array | Pfad zum aktuellen Schritt (siehe Schritt-Tabelle) |
| CurrentRetry | integer | Anzahl der bisherigen Wiederholungen des aktuellen Schritts |
| FlowScript | string | Inhalt des Ablaufplans (JSON) zum Zeitpunkt des Durchlaufs |
| Parameters | array | Parameter des Durchlaufs als key => value Paare |
| Status | integer | Status des Durchlaufs (siehe Status-Tabelle) |
| Executed | array | Ausgeführte Schritte (siehe Ausführungs-Tabelle) |
Schritt-Tabelle
| Index | Typ | Beschreibung |
|---|---|---|
| ActionList | string | Name des Parameters mit der verschachtelten Aktionsliste (leer = oberste Ebene) |
| ActionStep | integer | Index der Aktion in dieser Aktionsliste, beginnend bei 0 |
Ausführungs-Tabelle
| Index | Typ | Beschreibung |
|---|---|---|
| Step | array | Pfad zum Schritt (siehe Schritt-Tabelle) |
| Executed | integer | Unix Zeitstempel der Ausführung |
| Duration | integer | Dauer der Ausführung in Millisekunden |
| Success | boolean | TRUE, wenn der Schritt erfolgreich war |
| Result | string | Ausgabe bzw. Fehlermeldung des Schritts |
| Retries | integer | Anzahl der Wiederholungen |
Status-Tabelle
| Wert | Beschreibung |
|---|---|
| 0 | Eingereiht |
| 1 | Läuft |
| 2 | Erfolgreich beendet |
| 3 | Übersprungen |
| 4 | Abgebrochen (Details im Log) |
| 5 | Durch den Benutzer abgebrochen |
| 6 | Durch erneutes Ausführen abgebrochen |
| 7 | Durch eine Warnung abgebrochen |
| 8 | Durch einen Fehler abgebrochen |
| 9 | Durch eine Aktion abgebrochen |
Beschreibung
Diese Funktion ist nur für den internen Gebrauch vorgesehen und kann sich jederzeit ohne Ankündigung ändern oder entfallen.
Die Funktion liefert die Ausführungsstatistik des Ablaufplans mit der ID SkriptID, z.B. für die Anzeige der Durchläufe in der Konsole. Sie enthält die eingereihten und laufenden sowie die letzten 25 beendeten Durchläufe mit ihren ausgeführten Schritten. Die Statistik wird nur im Arbeitsspeicher gehalten und ist nach einem Neustart von IP-Symcon leer. Wurde der Ablaufplan seitdem nicht ausgeführt, ist RunCount 0 und die Listen sind leer.
Ist SkriptID kein Ablaufplan, schlägt die Funktion mit "Script ... is not a flow script!" fehl, existiert das Skript nicht, mit "Script #... does not exist".
Ein Pfad (CurrentStep, Step) beginnt auf der obersten Ebene des Ablaufplans. Jeder weitere Eintrag steigt in eine verschachtelte Aktionsliste der vorherigen Aktion ab, z.B. in die Aktionen einer Bedingung. Für die Status gibt es keine PHP-Konstanten.
Beispiel
// Die beendeten Durchläufe eines Ablaufplans ausgeben
$statistic = IPS_GetFlowScriptStatistic(12345);
foreach ($statistic['Completed'] as $run) {
printf("Durchlauf %d: Status %d, %d Schritte\n", $run['RunID'], $run['Status'], count($run['Executed']));
}
/* liefert z.B.:
Durchlauf 1: Status 2, 3 Schritte
Durchlauf 2: Status 8, 2 Schritte
*/