This is an old revision of the document!


SDK Job Management

General

The SDK Job Management consists of a script, a trigger and a job.
The script performs a specific function such as sending an SMS, mounting a USB stick or listening to a serial interface.

The trigger triggers the script. The trigger can be based on an event or on a time. Events can be based on all sorts of features of the router.
Example: incoming call, successful/failed SMS, interfaces are powered up/off, VPN functions are enabled/disabled and many more. A script can also be triggered manually via the CLI.

When the job is created, a trigger can be assigned to a script.

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