Ereignis in Modul

Hallo zusammen,

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?

Grüße,
Christoph

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.

Michael

z.B. so AstroTimer

Alternativ kannst du auch im Modul ein entsprechendes Ereignis generieren, welches dann die gewünschte Funktion aufruft.

Danke Euch beiden! Ich habe die Lösung von Fonzo implementiert. :loveips:

Bäh ne… Dann sieht der User ja das Ereignis und kann daran Änderungen vornehmen.
Michael

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 :slight_smile: Dann kann man den internen Timer nutzen, den der User nicht „verpfuschen“ kann.

paresy

Moin zusammen,

ich habe da ein Problem.

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? :confused::smiley:

Ja, oder alle 2147483647 Millisekunden starten, bis es klappt :smiley:

paresy

Dankeschön :slight_smile: