@Jumpy
Die beste Vorgehensweise ist folgende:
Man merke sich bei jedem Durchlauf den aktuellen Zeitpunkt.
Dann werden alle Einträge geprüft, ob diese im Zeitraum zwischen dem letzen Zeitpunkt und dem aktuellen Zeitpunkt ausgelöst werden mussten und triggert diese dann.
Ich würde das anders herum angehen, Du liest zum Zeitpunkt x alle zukünftigen Aktionen (der nächsten 5,10 Minuten) und arbeitest diese dann ab.
Wobei eine wesentliche Vereinbarung wäre , wann ist "Redaktionsschluß". Sprich die Eingabe einer Aktion muß mindestens z Sekunden/Minuten vor Ausführungszeitpunkt erfolgen.
Gruß
K-H
Bei meiner Vorgehensweise ist diese Vereinbarung zum Redaktionsschluß hinfällig
Dafür arbeitest Du aber die Vergangenheit auf, was mir nicht so behagt.
Da es sich aber um ein 5 Minuten Raster handelt sind die Auswirkungen in der Praxis wohl vernachlässigbar, man muß nur wissen, das jedes Vorgehen Vor- und Nachteile hat.
Wie soll ein Gerät um 15:02 gestartet oder ausgeschaltet werden, wenn die Abfrage um 15:00 Uhr und um 15:05 Uhr ausgeführt und der Schaltvorgang veranlasst wird.
Ich habe den Ablauf so verstanden, daß um 15.00 Uhr gefragt wird was in den nächsten 5 Minuten zu tun ist, und das wird dann abgearbeitet. Ein Schaltvorgang um 15:02 sollte da durchaus bekannt und ausführbar sein. Ggf. wird das Abfrageintervall auf 60sec,30sec.. verkürzt.
Gruß
K-H