This is an old revision of the document!


SDK Job Management

Allgemein

Das SDK Jobmanagement setzt sich aus einem Skript, einem Trigger und einem Job zusammen.
Das Skript erfüllt eine bestimmte Funktion wie z.B. das Senden einer SMS, das mounten eines USB Sticks oder abhören einer seriellen Schnittstelle.

Der Trigger löst das Skript aus. Der Trigger kann auf einem Event basieren oder auf einer Zeit. Events können auf allen möglichen Funktionen des Routers basieren.
Beispiel: eingehender Anruf, erfolgreiche/fehlgeschlagene SMS, schnittstellen werden hochgefahren/abgeschalten, VPN funktionen werden aktiviert/deaktiviert und viele mehr. Ein Skript kann auch manuell über die CLI getriggert werden.

Beim erstellen des Jobs kann einem Script ein Trigger zugewiesen werden.

Script

Dazu muss auf der Weboberfläche zu Services → Job Management → Scripts → Add navigiert werden. Hier kann ein Name(regex), eine Beschreibung und die Argumente des Scriptes übergeben werden. Des weiteren wird das Skript hier erstellt indem es geschrieben(edit), hochgeladen(upload) oder aus dem Speicher(select) ausgewählt wird.

Für das Skript wird die Sprache Arena und das API Manual verwendet.

Trigger

Events:

Es wird immer dann getriggert, wenn das Event eintritt.

Hier wurde als Trigger sdk-startup gewählt. Das bedeutet, dass das Skript bei jedem sdk start getriggert wird also auch beim hochfahren. Wird system-startup gewählt, wird nur beim system-startup des Routers getriggert. Wählt man als Trigger cliphp, kann man den Trigger manuell über einen Browser auslösen. Der Befehl lautet: nmevent -e “cliphp” -m “TRIG”. “cliphp” ist das Event und “TRIG” ist der Name des Triggers.

Uhrzeit:

Benutzt man einen zeitbasierten Trigger, wird folgendes Menü angeigt.

Hier kann dem Trigger wieder ein Name(regex) gegeben werden. Im Feld condition kann eingestellt werden, in welchem Zeitintervall getriggert werden soll. Im Feld timespec, wird diese Zeit dann spezifiziert. In dem Bild oben wurde periodisch als Zeittrigger gewählt. Der Trigger wird nun alle 1.5 Stunden ausgelöst.

Job

Es werden die Argumente für das Skript übergeben. Hier wird das ausgewählte Skript mit dem ausgewählten Trigger zugeordnet.

Administration

Unter SDK → Administration → Status kann eingesehen werden ob die SDK Umgebung aktiv ist, gerade ein Job läuft und ob ein Job beendet wurde. Über die Exitcodes wird der Status über das gelingen eines Jobs zurückgegeben. Exitcode 0 heißt keine Fehler.

Regex

Die erlaubten Symbole für Name,Argumente und sonstiges finden sie unter Configuration Parameters