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

To do this, navigate to Services → Job Management → Scripts → Add on the web interface. Here a name(regex), a description and the arguments of the script can be passed. Furthermore, the script is created here by writing(edit), uploading(uploading) or selecting it from memory(select).

For the script we're using, uses the Arena language and the API Manual.

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