Javascript funktion um gewisse Uhrzeit, setinterval Ressourcen Belastung?
Hallo zusammen
Ich bräuchte eine function, welche immer um die gleiche Uhrzeit, jeden Tags ausgeführt wird. Jeden Tag um 23:59
Nun habe ich eine setInterval function welche jede sekunde ausgeführt wird. wenn die aktuelle uhrzeit 23:59:0 betrifft, wird die eigentliche function ausgeführt.
Meine Frage: Ist das sehr ressourcen verbrauchend, da jede sekunde abgefragt wird?
function tick() {
//get the mins of the current time
var mins = new Date().getMinutes();
var sec = new Date().getSeconds();
var hours = new Date().getHours();
var time_stamp = "23:59:0";
var time_stamp = "15:20:0";
var current_time = hours + ":" + mins + ":" + sec;
if (current_time == time_stamp) {
alert('Do stuff');
}
console.log('Tick ' + hours + ":" + mins + ":" + sec);
}
setInterval(tick, 1000);
2 Antworten
Ich bräuchte eine function, welche immer um die gleiche Uhrzeit, jeden Tags ausgeführt wird.
Funktioniert natürlich nur im Browserfenster, wenn die Seite darin auch geöffnet ist.
Nun habe ich eine setInterval function welche jede sekunde ausgeführt wird.
Im einfachsten Fall würde ich es einfach nur jede Minute ausführen und bei deinem Test nicht auf die Sekunden testen.
setInterval(() => {
const date = new Date();
if (date.getHours() === 23 && date.getMinutes() === 59) {
alert('Do stuff');
}
}, 60000);
Meine Frage: Ist das sehr ressourcen verbrauchend, da jede sekunde abgefragt wird?
Mit dem Intervall von einer Minute ist es zumindest schon 60 mal performater.
Die Frage ist aber, was du überhaupt bezwecken willst. Sicherlich gibt es für dein Vorhaben eine deutlich bessere Lösung aber dazu müsste man mehr wissen.
Ich bräuchte eine function, welche immer um die gleiche Uhrzeit, jeden Tags ausgeführt wird
um was zu tun?
Ggfs. ist schon der Ansatz mit Javascript nicht gerade die ideale Lösung dafür.
Wenn um eine bestimmte Uhrzeit etwas auf einem Server ausgeführt werden soll, dann lagert man das nicht auf einen Client aus, sondern erstellt sich dazu einen Cron-Job.
ein script auf meinem server lokal auszuführen