Scheduler — Entwickler
Zweck
Der Scheduler erlaubt das Ausführen von Funktionen zu bestimmten EEP-Zeiten.
Wichtig: Geplante Funktionen werden nur zur Laufzeit persistiert und gehen beim Lua-Neustart verloren. Plane deshalb keine Aktionen ein, die über einen Neustart hinaus gültig sein müssen.
Bausteine
Klasse Task
Kapselt eine Funktion und einen Namen.
Task:new(f, name)— erstellt eine neue Aktionfist die Lua-Funktion, die aufgerufen wirdnameist ein Text für die Debug-Ausgabe
Klasse Scheduler
Nimmt Aktionen entgegen und führt sie nach Ablauf einer Zeitspanne aus.
Scheduler:scheduleTask(offsetInSeconds, newTask, precedingTask)— plant eine Aktion einScheduler:runTasks()— prüft die Zeit und führt fällige Aktionen aus; wird automatisch überCeHubModuleaufgerufen
Design-Entscheidung
Der Scheduler ist ein Sub-Bereich des Hubs und kein eigenständiges Paket, weil er eng an den Hub-Lebenszyklus (runTasks) gekoppelt ist und keine eigene Laufzeit benötigt. Die Zeitbasis stammt direkt aus EEP.
Informationen für Anwender: README.md