Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

Introduction

The task scheduler provides the capability to run tasks at scheduled times, optionally repeating them as required.

It has the following capabililties:

  • Run a telephony task on a specified date and time by making an outbound call to a destination and starting the application configured on a service number
  • Run a workflow task on a specified date and time by starting a background daemon process and running a workflow (GUI) application
  • Reschedule the task on completion for a time in the future
  • Retry the task if it fails to start or fails to complete
  • Start an error task (as a background process) if the task exceeds the maximum number of tries before it completes

Scheduling can be based on the following:

  • The date and time on which tasks should be run
  • Within specified opening times
  • Not on specified holidays

Tasks can be rescheduled (i.e. run repeatedly). Various options are available for this purpose.

Tasks can be passed parameters in JSON form. This enables several tasks to use the same service number configuration.

Rescheduling a task (if the task is configured as a repeating task) involves using the IVR / Workflow object Task Reschedule.

Configuration

The task scheduler can be configured via the menu item Routing ... Task Scheduler.

The following fields can be configured in a task:

FieldSpecific to Task TypeDescription
Name
The name of the task to be scheduled
Active

When set to checked (on), then the task is active. Only active tasks will be scheduled for running.

Type

The following types are supported:

  • Telephony Application. This type dials a telephone number and runs an application associated with a service number when the destination is reached.
  • Workflow Application. This type starts a background application running (i.e. a non voice application).
DestinationTelephony ApplicationThis value is provided in the variable $caller, and is used as the number to dial for telephony processes. 
Service NumberTelephony ApplicationThe service number to use when making the outbound call for telephony processes. 
Next Scheduled
The date and time on which the task will be next scheduled. This is also used as the base for calculating the task reschedule date and time when it has run and the reschedule object in the IVR or workflow is used.
Opening Times
If configured, the task will only be run during the setup opening times. This can be used, for example, to prevent a recurring task running at night.
Holiday List
If configured, the task will only be run when it is not a holiday as specified in the holiday list. This can be used, for example, to prevent a recurring task running on holidays.
Maximum Tries
When the task is run and it does not pass through a Task Reschedule object in the workflow or IVR application, it will be tried again after one minute has expired. If the maximum number of tries is then reached, the workflow application specified in the "Routing Application (Maximum Tries Reached)" parameter is started, if configured.
Routing Application (Maximum Tries Reached)
If configured, this application will be started when the maximum number of tries is reached and the task has not passed through a Task Reschedule object.
Reschedule every (minutes)

This parameter configures the repeating task interval. When the task has completed, or run to the error state due to the maximum number of tries being reached, the task is rescheduled if this parameter is configured. The following values are allowed:

  • 1 Minute
  • 2 Minutes
  • 3 Minutes
  • 4 Minutes
  • 5 Minutes
  • 10 Minutes
  • 15 Minutes
  • 30 Minutes
  • 1 Hour
  • 2 Hours
  • 3 Hours
  • 4 Hours
  • 8 Hours
  • 12 Hours
  • Daily
  • Weekly

Note, that if a task is configured with a maximum tries parameter which causes the reschedule interval to be exceeded if more tries are required, then (at least) one interval will be skipped when the task is rescheduled.

Example:

  • The task is configured to start at 13:00 with a reschedule interval of 5 minutes and maximum tries 10
  • The first time the task is run, it takes 6 tries to complete (this will take 6 minutes, as re-trying the task occurs every minute)
  • The next time the task will be scheduled for will be 13:10, as this is the next interval in the future at which the task could be rescheduled
Task Parameters (JSON)

The parameters specified here MUST be valid JSON. If you are not certain about this, then use an online JSON formatter to check the validity of the data. Here is an example of the parameters you might use:

{ 
"myParameter1":"This is the value of parameter 1",

...

 
"myParameter2":"PARAM2"
}

The configured parameters are passed to the task and will be parsed as JSON by the workflow / IVR engine and made available to the running task as variables with the prefix $params.

The example parameters above would be stored in the variables:

$params.myParameter1
$params.myParameter2
Comments
You can provide any comments / documentation necessary in this field, which is for informational purposes only.

Task Control

The task scheduler uses the following fields to control how tasks are scheduled:

Field

Values

Comments

dtNextSchedule

TIMESTAMP

When the task should next be scheduled for.

Is updated when the task is rescheduled after running or repeating the max times.

nState

INTEGER

0 = READY to run (see dtNextSchedule for when)

10 = STARTING PROCESS (is in daemon being started)

20 = RUNNING (process is actually running)

-1 = RESCHEDULE (needs checking whether a reschedule is required)

-99 = DONE (job is finished and will not be rescheduled)

nCurrentTries

INTEGER

The current number of tries of starting the job.

nMaxTriesINTEGERThe maximum number of repeat tries of performing the job.

dtStateChange

TIMESTAMP

Set when the state was changed, which enables recovery of abandoned / lost jobs.

Jobs which remain in a state for more than 5 minutes will be recovered as follows:

  • If the job is set to be rescheduled, then it will be rescheduled to the next time

  • If the job is not set to be rescheduled, then it will be moved to the error state

nRepeatingTaskInterval

INTEGER

Number of minutes to wait to reschedule the task again (repeating task).

State Diagram

Tasks are processed according to the following state diagram:

draw.io Diagram
bordertrue
diagramNameTask Scheduler State Diagram EN
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth800
revision2

Sv translation
languagefr

Status
colourRed
titleTHIS PAGE IS ONLY AVAILABLE IN ENGLISH

Sv translation
languagede

Einführung

Der Aufgabenplaner bietet die Möglichkeit, Aufgaben zu geplanten Zeiten auszuführen und sie bei Bedarf zu wiederholen.

Er hat die folgenden Fähigkeiten:

  • Ausführen einer Telefonie-Aufgabe zu einem bestimmten Datum und einer bestimmten Uhrzeit, indem ein ausgehender Anruf zu einem Ziel getätigt und die unter einer Servicerufnummer konfigurierte Anwendung gestartet wird
  • Ausführen einer Workflow-Aufgabe zu einem bestimmten Datum und einer bestimmten Uhrzeit durch Starten eines Hintergrund-Daemon-Prozesses und Ausführen einer Workflow-Anwendung (GUI)
  • Neuplanung der Aufgabe nach Abschluss auf einen Zeitpunkt in der Zukunft
  • Die Aufgabe wiederholen, wenn sie nicht gestartet oder nicht abgeschlossen werden konnte
  • Starten einer Fehleraufgabe (als Hintergrund- / Daemonenprozess), falls die Aufgabe die maximale Anzahl von Versuchen überschreitet, bevor sie abgeschlossen wird

Die Zeitplanung kann auf den folgenden Punkten basieren:

  • Das Datum und die Uhrzeit, zu der die Aufgabe ausgeführt werden soll
  • Mit Berücksichtigung bestimmter Öffnungszeiten
  • Nicht an bestimmten Feiertagen

Aufgaben können in der Zukunft erneut geplant werden (d.h. wiederholt ausgeführt werden). Hierfür stehen verschiedene Optionen zur Verfügung.

Den Aufgaben können Parameter in JSON-Form übergeben werden. So können mehrere Aufgaben die gleiche Servicerufnummernkonfiguration verwenden, beispielsweise.

Die Neuplanung einer Aufgabe (wenn die Aufgabe als Wiederholungsaufgabe konfiguriert ist) erfolgt über das IVR-/Workflow-Objekt Task Reschedule.

Konfiguration

Der Aufgabenplaner wird unter dem Menüpunkt Routing ... Aufgabenplaner konfiguriert.

Die folgenden Felder können in einer Aufgabe konfiguriert werden:

FeldSpezifisch für AufgabentypBeschreibung
Name
Der Name der zu planenden Aufgabe
Active

Wenn diese Option aktiviert ist, dann ist die Aufgabe aktiv. Nur aktive Aufgaben werden für die Ausführung geplant.

Typ

Die folgenden Typen werden unterstützt:

  • Telefonie-Anwendung. Es wird eine Telefonnummer gewählt und die IVR / Routing Anwendung wird ausgeführt, die bei der angegebenen Servicenummer konfiguriert ist, wenn das Ziel erreicht wird.
  • Workflow-Anwendung. Dieser Typ startet eine im Hintergrund laufende Anwendung (d.h. eine Nicht-Sprachanwendung).
ZielTelephony ApplicationDieser Wert wird in der Variablen $caller angegeben und wird als zu wählende Nummer für Telefonieprozesse verwendet. 
ServicerufnummerTelephony ApplicationDie Servicerufnummer, die bei ausgehenden Anrufen für einen Telefonieprozess verwendet werden soll. 
RoutingapplikationWorkflow Applikation (ohne Telefonie)Die Routingapplikation die ausgeführt werden soll als Workflow-Applikation ohne Telefonieunterstützung.
Nächster Termin
Das Datum und die Uhrzeit, zu der die Aufgabe das nächste Mal geplant werden soll. Dies wird auch als Grundlage für die Berechnung des Datums und der Uhrzeit für die Neuplanung der Aufgabe verwendet, wenn diese gestartet wurde und das Objekt für die Neuplanung in der IVR oder Workflow durchlaufen wird.
Öffnungszeiten
Wenn angegeben, wird die Aufgabe nur während der eingestellten Öffnungszeiten ausgeführt. Dies kann z. B. verwendet werden, um zu verhindern, dass eine wiederkehrende Aufgabe in der Nacht ausgeführt wird.
Feiertagsliste
Wenn diese Option aktiviert ist, wird die Aufgabe nur ausgeführt, wenn es sich nicht um einen Feiertag handelt, wie in der Feiertagsliste angegeben. Dies kann z. B. verwendet werden, um zu verhindern, dass eine wiederkehrende Aufgabe an Feiertagen ausgeführt wird.
Maximale Versuche
Wenn die Aufgabe ausgeführt wird und nicht durch ein Task Reschedule Objekt in der Workflow- oder IVR-Anwendung läuft, wird sie nach Ablauf einer Minute erneut versucht. Wenn dann die maximale Anzahl der Versuche erreicht ist, wird die im Parameter "Routingapplikation (Maximale Versuche erreicht)" angegebene Workflow-Anwendung gestartet, sofern konfiguriert.
Routingapplikation (Maximale Versuche erreicht)
Wenn dieser Parameter konfiguriert ist, wird die angegebene Applikation als Daemonen (Hintergrund / Workflowprozess) gestartet, wenn die maximale Anzahl von Versuchen erreicht ist und die Aufgabe nicht durch eine Aufgabe neue planen Objekt in den Workflow durchlaufen.
Neu planen alle (Minuten)

Mit diesem Parameter wird das Intervall für die Wiederholungsaufgabe konfiguriert. Wenn die Aufgabe abgeschlossen ist oder aufgrund des Erreichens der maximalen Anzahl von Versuchen in den Fehlerzustand läuft, wird die Aufgabe neu geplant, wenn dieser Parameter konfiguriert ist. Die folgenden Werte sind möglich:

  • 1 Minute
  • 2 Minuten
  • 3 Minuten
  • 4 Minuten
  • 5 Minuten
  • 10 Minuten
  • 15 Minuten
  • 30 Minuten
  • 1 Stunde
  • 2 Stunden
  • 3 Stunden
  • 4 Stunden
  • 8 Stunden
  • 12 Stunden
  • Täglich
  • Wöchentlic

Wenn eine Aufgabe mit einem Parameter für die maximale Anzahl von Versuchen konfiguriert ist, der dazu führt, dass das Intervall für die Neuplanung überschritten wird, wenn mehr Versuche erforderlich sind, wird (mindestens) ein Intervall übersprungen, wenn die Aufgabe neu geplant wird.

Beispiel:

  • Die Aufgabe ist so konfiguriert, dass sie um 13:00 Uhr mit einem Wiederholungsintervall von 5 Minuten und maximal 10 Versuchen startet.
  • Bei der ersten Ausführung der Aufgabe werden 6 Versuche unternommen, um die Aufgabe abzuschließen (dies dauert 6 Minuten, da die Aufgabe jede Minute erneut versucht wird).
  • Der nächste Zeitpunkt, für den die Aufgabe geplant wird, ist 13:10 Uhr, da dies das nächste Intervall in der Zukunft ist, in dem die Aufgabe neu geplant werden kann.
Aufgaben-Parameter (JSON)

Die hier angegebenen Parameter MÜSSEN gültiges JSON sein. Wenn Sie sich dessen nicht sicher sind, verwenden Sie einen Online-JSON-Formatierer, um die Gültigkeit der Daten zu prüfen. Hier ist ein Beispiel für die Parameter, die Sie verwenden könnten:

{ 
"myParameter1":"Dies ist der Wert von Parameter 1",
"myParameter2":"PARAM2"
}

Die konfigurierten Parameter werden an die Aufgabe übergeben und werden von der Workflow- / IVR-Engine als JSON geparst und der laufenden Aufgabe als Variablen mit dem Präfix $params zur Verfügung gestellt.

Die obigen Beispielparameter würden in den Variablen gespeichert werden:

$params.myParameter1
$params.meinParameter2
Bemerkungen
Sie können in diesem Feld, das nur zu Informationszwecken dient, alle erforderlichen Kommentare / Dokumentationen angeben.

Aufgabensteuerung

Der Aufgabenplaner verwendet die folgenden Felder, um zu steuern, wie die Aufgaben geplant werden:

Feld

Wert

Beschreibung

dtNextSchedule

TIMESTAMP

Wann die Aufgabe das nächste Mal geplant werden soll.

Wird aktualisiert, wenn die Aufgabe nach der Ausführung oder Wiederholung der maximalen Zeiten neu geplant wird.

nState

INTEGER

0 = READY (BEREIT) zur Ausführung (siehe dtNextSchedule für den Zeitpunkt)

10 = STARTING PROCESS (WIRD GESTARTET)

20 = RUNNING (Prozess läuft tatsächlich)

-1 = RESCHEDULE (es wird geprüft ob ein neuer Zeitplan erforderlich ist)

-99 = DONE (Auftrag ist beendet und wird nicht neu geplant)

nCurrentTries

INTEGER

Die aktuelle Anzahl der Versuche, den Auftrag zu starten.

nMaxTriesINTEGERDie maximale Anzahl von Wiederholversuche.

dtStateChange

TIMESTAMP

Legt fest, wann nState geändert wurde, was die Wiederherstellung von abgebrochenen/verlorenen Aufträgen ermöglicht.

Aufträge, die länger als 5 Minuten in einem Status verbleiben, werden wie folgt wiederhergestellt:

  • Wenn der Auftrag für eine Neuplanung vorgesehen ist, wird er auf den nächsten Termin verschoben.
  • Wenn der Auftrag nicht für eine Neuplanung vorgesehen ist, wird er in den Fehlerzustand versetzt.

nRepeatingTaskInterval

INTEGER

Anzahl der Minuten, die gewartet werden soll, bis die Aufgabe erneut geplant wird (Wiederholungsaufgabe).

Zustandsdiagramm

Die Aufgaben werden nach dem folgenden Zustandsdiagramm bearbeitet:

draw.io Diagram
bordertrue
diagramNameTask Scheduler State Diagram EN
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth800
revision2