schedule(a,b,c,d,e,f,g)


Diese Funktion erlaubt Ihnen in Parameter a-f einen Crontab-Eintrag zu definieren. In Parameter g wird ein Ausgangszeitpunkt definiert. Ausgehend von Ausgangszeitpunkt wird dann berechnet, wann der nächste Start durch den Crontab-Eintrag ausgelöst würde. Der Rückgabewert der Funktion ist ein Timestamp. Hinweis: Der Crontab-Eintrag hier wird lediglich innerhalb der Funktion verwendet und dient nur der Berechnung. Er löst keinerlei Ereignis aus. Der Timestamp-Rückgabewert ermöglicht es Ihnen aber im Mapping eigene zeitgesteuerte Ereignisse zu implementieren.

Parameterbeschreibung


Parameter

Beschreibung

a

Sekunde. Siehe Abschnitt Crontab-Syntax.

b

Minute. Siehe Abschnitt Crontab-Syntax.

c

Stunde. Siehe Abschnitt Crontab-Syntax.

d

Tag Monat. Siehe Abschnitt Crontab-Syntax.

e

Monat. Siehe Abschnitt Crontab-Syntax.

f

Wochentag. Siehe Abschnitt Crontab-Syntax.

g

Ausgangszeitpunkt in Millisekunden. Siehe auch Funktion milliseconds(a).

Beispiel


Gehen wir von der folgenden Funktionskette aus.


milliseconds(a)
a Wert: 2019-01-11 03:03:00
 
schedule(a,b,c,d,e,f,g)
a Wert: 0
b Wert: */15
c Wert: *
d Wert: *
e Wert: *
f Wert: *
g Ergebnis: 1


Wir erzeugen also zuerst den Millisekundenwert eines Timestamps (der letzte Startzeitpunkt). In der zweiten Funktion definieren wir in den Parametern a-f einen Crontab-Eintrag, der alle 15 Minuten starten würde (siehe Abschnitt Crontab-Syntax). In Parameter g verwenden wir dann den berechneten Millisekundenwert.

Als Ergebnis erhalten wir 2019-03-11 03:15:00.0

Diesen Wert können Sie nun relativ zur aktuellen Zeit verwenden, um zu ermitteln, ob Sie ein (beliebiges) Event auslösen wollen. D. h. liegt der zurückgegebene Timestamp in der Vergangenheit, dann lösen Sie Ihr Event aus.


milliseconds(a)
a Wert: 2019-01-11 03:03:00
 
schedule(a,b,c,d,e,f,g)
a Wert: 0
b Wert: */15
c Wert: *
d Wert: *
e Wert: *
f Wert: *
g Ergebnis: 1
 
now()
 
a < b
a Ergebnis: 2
b Ergebnis: 3


Als Ergebnis erhalten Sie hier true. Hinweis: Beim Zeitvergleich findet hier eine implizite Typumwandlung in Millisekundenwerte statt, was es ermöglicht die beiden Zeiten numerisch zu vergleichen. Siehe Abschnitt Datentypen.