Das Modul LC.timeout
ermöglicht den Aufruf von Lua-Funktionen mit einer Verzögerung.
LC.timeout.
set
(command, min, max)¶
command (String) – Auszuführender Lua-Befehl
min (Number) – minimale Wartezeit
max (Number) – maximale Wartezeit
Es wird ein Timer gesetzt, um die Funktion command
verzögert aufzurufen. Der Aufruf wird frühestens nach min
Sekunden ausgeführt, spätestens nach max
Sekunden. Ein erneuter Aufruf dieser Funktion mit dem selben command
setzt den internen Timer zurück, sofern nicht bereits der Wert in max
erreicht wurde.
Diese Funktion wird beispielsweise dann genutzt, wenn ein idempotenter Befehl ausgeführt werden soll, aber zu viele Aufrufe innerhalb eines kurzen Zeitraums vermieden werden sollen.
Der in command
übergebene Funktionsname muss in allen Lua-Instanzen im globalen Namensraum verfügbar sein und kann keine Parameter akzeptieren.
Example
In diesem Beispiel wird die Funktion apache.reload
frühestens 10 Sekunden nach dem letzten Aufruf von LC.timeout.set()
ausgeführt, spätestens aber 60 Sekunden nach deren ersten Aufruf:
LC.timeout.set('apache.reload', 10, 60)