NEWS
[Skript]Covid 19: 7 Tage Werte aller Landkreise
-
@fastfoot Hi, danke für deine Antwort. Ich habe es mal einen Tag laufen lassen und da kamen dann nach und nach alle Einträge. Jetzt läuft es super.
-
Ich hab mit dem Javascript Adapter 4.10.6 und 4.10.8 das Verhalten, dass mir nach einigen Stunden die javascript Instanz ohne erkennbare Fehler im Log abstürzt.
In den letzten Tagen hab ich angefagen alle Skripte abzuschalten und Stück für Stück wieder zu aktivieren.
Heute um ca. 15:30 Uhr hab ich das Corona 7 Tages Skript (Version vom 7.11) aktiviert und mittlerweile hat sich javascript wieder verabschiedet. Der Speicherverbrauch geht hierbei regelmäßig durch die Decke teilweise bis zu 1 GByte für die Instanz.Sieht jemand bei sich das gleiche Verhalten? @fastfoot Welche Javascript Version nutzt du?
-
@Feuersturm sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
Heute um ca. 15:30 Uhr hab ich das Corona 7 Tages Skript (Version vom 7.11) aktiviert und mittlerweile hat sich javascript wieder verabschiedet. Der Speicherverbrauch geht hierbei regelmäßig durch die Decke teilweise bis zu 1 GByte für die Instanz.
Das kann nicht am Skript liegen, ich programmiere grundsätzlich fehlerfrei! Muhaa, kleiner Scherz, an dem Fehler hab' ich mir vor Wochen einen Wolf gesucht, dachte aber nicht dass ich ihn veröffentlicht hatte, er trat bei mir erst viel später auf. Ich hatte lange jsonata im Verdacht, dann iobroker, mangelnden Speicher, den Rest der Welt Man kann gar nicht lange genug programmieren, um nicht immer wieder auf sich selbst rein zu fallen!
Es liegt daran, dass
setSchedules()
in main() aufgerufen wird, dadurch schaukelt sich das ganze System irgendwann hoch. Meine Absicht war, Fehler zu verhindern, wenn die Datenpunkte erstellt werden, aber bereits eine Subscription darauf existiert. Deshalb ist der Aufruf ganz am Ende von main() und die Subscriptions überhaupt erst in einer function gelandet. Schmeiss es in main() raus und füge am Ende des Skripts den Aufruf mit einem Timeout ein// setup schedules and subscriptions setTimeout(function(){ setSchedules() },1000)
Ich werde es mal noch berichtigen, bist aber der Erste dem das auffällt, ausser mir
-
@Feuersturm sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
Der Speicherverbrauch geht hierbei regelmäßig durch die Decke
Wie hast du die Grafik erstellt, würdest du sie zur Verfügung stellen?
-
@fastfoot Danke für deine schnelle Hilfe. Es ist bei mir aufgefallen, da durch den Javascript Absturz meine anderen Skripte nicht mehr liefen. Ich werde deinen Vorschlag heute mal einbauen.
Die Grafik habe ich mit Grafana gemacht. Die in meinem Screenshot markierten Datenpunkte werden in einer Influx Datenbank gespeichert. Hilft dir das weiter oder was meintest du mit dem Bereitstellen der Grafik?
-
@Feuersturm sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
@fastfoot Danke für deine schnelle Hilfe. Es ist bei mir aufgefallen, da durch den Javascript Absturz meine anderen Skripte nicht mehr liefen. Ich werde deinen Vorschlag heute mal einbauen.
Die Grafik habe ich mit Grafana gemacht. Die in meinem Screenshot markierten Datenpunkte werden in einer Influx Datenbank gespeichert. Hilft dir das weiter oder was meintest du mit dem Bereitstellen der Grafik?
Die Änderung ist im ersten Beitrag eingepflegt, auch habe ich die Ampel angepasst. Die Sortierroutine könnte eigentlich auch raus, die neueste Version der inventwo Widgets kann jetzt auch nach Spalten sortieren
Die Grafik hätte ich gerne als Widget oder View gehabt, allerdings nutze ich weder Grafana noch InfluxDB, so dass es sich erstmal erledigt hat
-
@fastfoot bisher ist das Skript mit der Anpassung die du mir genannt hast unauffällig. Heute abend übernehme ich dann deine neue Version und kann dir dann morgen sagen ob die Nacht ruhig verlaufen ist
-
@Feuersturm sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
@fastfoot bisher ist das Skript mit der Anpassung die du mir genannt hast unauffällig. Heute abend übernehme ich dann deine neue Version und kann dir dann morgen sagen ob die Nacht ruhig verlaufen ist
Du könntest die Frequenz der Updates des Covid-19 Adapters erhöhen oder mit den beiden Schaltern zum Ein- und Ausblenden der Bundesländer und aller Städte/Kreise spielen. Da wird ständig main() aufgerufen um die States des Adapters einzulesen. Dadurch hat sich dann in der fehlerhaften Version das System relativ schnell hochgeschaukelt, weil immer neue Subscriptions erzeugt wurden. Bei mir hatte sich das gezeigt, nachdem ich in der VIS die Spaltensortierung eingebaut hatte(in einer der Versionen auch mit jsonata). Diese Versionen haben es aber nicht mehr ins Forum geschafft und sind mittlerweile durch die neuen Sortierfunktionen im inventwo Widget obsolet. Allerdings arbeitet meine eigene Version mittlerweile unabhängig vom Covid-19 Adapter und zieht sich die Daten direkt. Ich überlege noch ob ich sie mal veröffentliche, möchte dem Adapter eigentlich keine Konkurrenz machen Wobei man bei diesem eine History für die einzelnen Kreise loggen kann, im Skript ist es immer nur das Gesamtpaket.
-
Hallo, ist das script nun Fehlerfrei bzw .treten die Fehler nicht mehr auf ?
-
@novregen sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
Hallo, ist das script nun Fehlerfrei bzw .treten die Fehler nicht mehr auf ?
Ich denke doch, @Feuersturm hat sich nicht mehr gemeldet
-
@fastfoot sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
@novregen sagte in [Skript]Covid 19: 7 Tage Werte aller Landkreise:
Hallo, ist das script nun Fehlerfrei bzw .treten die Fehler nicht mehr auf ?
Ich denke doch, @Feuersturm hat sich nicht mehr gemeldet
@fastfoot @novregen Mein System verhält sich unauffällig mit dem Skript. Somit alles bestens
-
@feuersturm ist die aktuellste Version vom script denn jetzt hier online ?
-
@novregen Ja. Ich hab bei mir auch die Version " 21.12.2020 - Fix: Aufruf von setSchedules() aus main() entfernt - Ampel angepasst" im Einsatz. Du findest das aktuelle Skript im ersten Beitrag.