ich möchte, dass ein Modul jeden Tag zu einer festgelegten Uhrzeit einen Befehl ausführt. Wenn das Modul ein Skript wäre, würde ich entsprechend konfiguriertes Ergeignis an das Skript hängen.
Bisher habe ich immer RegisterTimer verwendet, aber ich brauche hier keinen klassischen Timer, sondern ein Ereignis, welches z.B. jeden Tag um 03:45 Uhr auslöst.
Wie löse ich das aus einem Modul heraus am besten? Einfach das Ereignis durch das Modul anlegen lassen?
Differenz zum Zielzeitpunkt berechnen und Timerintervall entsprechend setzen.
Bei jedem Auslösen des Timers, Dies wiederholen.
Mache ich z.b. beim NoTrigger Modul und Websocket-Server ebenso.
Wie Michael schon sagte ist die bisher „besten“ Lösung den nächsten Zeitpunkt einfach zu berechnen. Das geht mit mktime minus time() eigentlich recht schnell Dann kann man den internen Timer nutzen, den der User nicht „verpfuschen“ kann.
Ich möchte einen internen Timer, der am 1. Januar des Folgejahres losläuft. Damit stoße ich aber an das Limit von Integer. Der Timer kann maximal 2147483647 groß sein.
Wie löse ich das am elegantesten? Einfach den Timer jeden Tag berechnen lassen. Irgendwann wird er in das Integer hineinpassen?