Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Database Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ooUrmeloo
    antwortet
    bin leider jetzt erst dazu gekommen ...
    Aber danke!! Funktioniert wieder!

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Ziehst du dir bitte mal die aktuellste develop Version von shng und probierst nochmals? Bei meinen Tests hat alles wie gewünscht/erwartet funktioniert.. Im db Plugin kommt man auch nach Öffnen eines Items und Zurückkehren zur Übersicht wieder auf die Seite, die zuvor aktiv war... und man sollte jetzt problemlos zwischen den versch. Page Lengths umschalten können. Im Übrigen kann man sowohl im http Modul als auch im Plugin mit dem Parameter webif_pagelength bestimmen, was default angezeigt werden soll. -1 wäre "alle"

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    Hast du die neueste shng Version im Einsatz?
    ja, habe V1.9.4 am Laufen.
    Ich habe aber gerade eben zufällig festgestellt, dass es irgendwie auch vom Browser / OS abhängt.
    Unter Windows + Firefox wie oben beschrieben. Unter Android + Chrome habe ich scheinbar eher das gegenteilige Verhalten. Da zeigt es (immer) alles an.

    Nachtrag: gerade doch nochmal schnell versucht. Am PC verhält sich bei mir Firefox, Chrome und Edge gleich. Wie gesagt, auf dem Smartphone geht's - mehr oder weniger.
    Zuletzt geändert von ooUrmeloo; 26.03.2023, 20:38.

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Hast du die neueste shng Version im Einsatz?
    Kann das aber leider auch mit der aktuellen Version nachvollziehen - das ist ein Bug, keine Ahnung woher der kommt. Schau ich mir an.
    Dass er nach Klick auf das Lupensymbol und Zurückkehren auf "Übersicht" wieder auf Seite 1 ankommt, ist mehr oder weniger Absicht bzw. normal. Auch das muss ich mir mal ansehen, sollte lösbar sein.

    Einen Kommentar schreiben:


  • ooUrmeloo
    antwortet
    Hallo zusammen,

    nach dem Umstieg auf Database Plugin 1.6.9 gibt es bei mir im WebIF jetzt die Möglichkeit mit "Show xx Entries" die Anzahl der Einträge pro Seite darzustellen.
    (Ich weiß ehrlich gesagt nicht, ab welcher Version die Funktion drin ist ... vorher hatte ich das nicht.)
    Bei mir funktioniert das aber irgendwie nicht. Ich sehe immer nur 25 Einträge. Wenn ich im Browser zoome, sehe ich sogar weniger (aber nie mehr als 25).
    Wenn ich die Einstellung "Show xx Entries" ändere, ändert sich nichts, egal ob 25, 50, 100, alle ...
    Ist ein bisschen nervig, wenn man immer auf Seite 17 muss o.ä.. Außerdem springt er immer wieder auf die erste Seite wenn ich in einem DB Eintrag war und nicht an die Stelle zurück, wo ich war ... auch etwas unschön.
    Mach ich was falsch? Oder ist das so gewollt? Kann ich irgendwie wieder auf eine lange Liste zum Scrollen umsteigen?

    Danke und Gruß,
    Timo

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Die Funktion funktioniert zumindest bei mir problemlos. Die Funktion löscht im Hintergrund die Datensätze. Da ei lässt sich das Plugin bewusst Zeit, damit es die Performance der normalen Funktion (wegschreiben von Daten, Nutzung des Webinterface) nicht behindert.
    Macht Sinn (oder kurz Msinn -> jetzt weiß ich auch woher der Name kommt). ;-)

    Zitat von Msinn Beitrag anzeigen
    Die Hinweise, dass die Datenbank gesperrt ist, lassen darauf schließen, dass es bei Dir noch anders geartete gleichzeitige Zugriffe gibt. Das könnte aus einem sqlite3 Admin Tool kommen oder auch aus anderen SmartHomeNG Plugins welche selbst auf die Datenbank zugreifen oder Funktionen des Database Plugins nutzen, da diese in anderen Threads laufen als das database Plugin.
    Nur noch das db_addon. Das habe ich jetzt testhalber mal pausiert. Schauen wir mal, wie es da weiter geht. Aber der "Müll" scheint nicht zu verschwinden.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Die Funktion funktioniert zumindest bei mir problemlos. Die Funktion löscht im Hintergrund die Datensätze. Da ei lässt sich das Plugin bewusst Zeit, damit es die Performance der normalen Funktion (wegschreiben von Daten, Nutzung des Webinterface) nicht behindert.

    Die Hinweise, dass die Datenbank gesperrt ist, lassen darauf schließen, dass es bei Dir noch anders geartete gleichzeitige Zugriffe gibt. Das könnte aus einem sqlite3 Admin Tool kommen oder auch aus anderen SmartHomeNG Plugins welche selbst auf die Datenbank zugreifen oder Funktionen des Database Plugins nutzen, da diese in anderen Threads laufen als das database Plugin.
    Zuletzt geändert von Msinn; 22.03.2023, 10:58.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Was verstehst Du unter "Datenbank-Cleanup"? Meinst Du das Löschen verwaister Items?
    Genau dafür gibt es unter "Verwaiste Items" im Web-Interface einen extra Button: "Datenbank-Cleanup starten".

    Ich denke die Funktion "Datenbank-Cleanup" führt eher zu Problemen, denn ich habe dann eine ganze Weile, zeitversetzt nach dem drücken des Buttons mit Datenbankfehlern zu tun. Das ist nur ein kurzer Auszug des Logs:

    Code:
    2023-03-22  03:53:57 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  03:53:57 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  04:24:17 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  04:24:17 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  04:36:27 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  04:36:27 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  04:47:37 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  04:47:37 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  05:21:03 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  05:21:03 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  05:36:16 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  05:36:16 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  05:39:19 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3;: database is locked
    2023-03-22  05:39:19 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3 - Exception database is locked
    2023-03-22  05:39:24 ERROR    plugins.database    Database: Error for query SELECT MAX(id) FROM item;: database is locked
    2023-03-22  05:39:24 WARNING  plugins.database    Problem dumping Zentral.Energie.Verbrauch.Wirkleistung_L1_L2_L3: database is locked
    2023-03-22  05:39:29 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L1;: database is locked
    2023-03-22  05:39:29 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L1 - Exception database is locked
    2023-03-22  05:39:34 ERROR    plugins.database    Database: Error for query SELECT MAX(id) FROM item;: database is locked
    2023-03-22  05:39:34 WARNING  plugins.database    Problem dumping Zentral.Energie.Verbrauch.Wirkleistung_L1: database is locked
    2023-03-22  05:39:39 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L2;: database is locked
    2023-03-22  05:39:39 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L2 - Exception database is locked
    2023-03-22  05:39:44 ERROR    plugins.database    Database: Error for query SELECT MAX(id) FROM item;: database is locked
    2023-03-22  05:39:44 WARNING  plugins.database    Problem dumping Zentral.Energie.Verbrauch.Wirkleistung_L2: database is locked
    2023-03-22  05:39:49 ERROR    plugins.database    Database: Error for query SELECT id, name, time, val_str, val_num, val_bool, changed from item WHERE name = Zentral.Energie.Verbrauch.Wirkleistung_L3;: database is locked
    2023-03-22  05:39:49 WARNING  plugins.database    id(): No id found for item Zentral.Energie.Verbrauch.Wirkleistung_L3 - Exception database is locked
    2023-03-22  05:39:54 ERROR    plugins.database    Database: Error for query SELECT MAX(id) FROM item;: database is locked
    2023-03-22  05:39:54 WARNING  plugins.database    Problem dumping Zentral.Energie.Verbrauch.Wirkleistung_L3: database is locked​

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Was verstehst Du unter "Datenbank-Cleanup"? Meinst Du das Löschen verwaister Items?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Nach dem Update auf die aktuelle Version database v1.6.9, habe ich mal ein Datenbank-Cleanup durchführen lassen, damit nicht verwendete Items rausgeschmissen werden. Der Cleanup wird aber nicht durchgeführt. DIe Einträge werden nicht gelöscht.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Das wird bewusst in kleineren Häppchen gemacht. Kleine Häppchen sind wichtig, wenn die max_age Attribute bzw. Parameter neu gesetzt wurden und viele zu löschende Daten vorhanden sind, damit die normale Nutzung der Datenbank nicht behindert wird. (Sonst könnte sich z.B. der Aufbau der Plots in de Visu velangsamen.

    Im Normalfall (wenn die mengen alter Daten gelöscht sind), kannst Du durch Ändern des Parameters removeold_cycle das Interval hochsetzen. Standardmäßig steht der auf 91 Sekunden. Den Wert kannst Du je nach Wunsch auf mehrere Stunden erhöhen.

    Einen Kommentar schreiben:


  • wvhn
    antwortet
    Moin,

    Ich habe alle 1-2 Minuten einen Logeintrag des database-Plugins „remove_older_than_maxage“. Wird das Löschen alter Daten zwingend bei jedem item-update gemacht, oder kann man das auch bündeln? Also zum Beispiel einmal am Tag eine Bereinigung?

    Den Logeintrag kann ich natürlich unterdrücken. Aber was ist hinsichtlich Belastung der Datenbank bzw. Systemlast günstiger?

    Gruß
    Wolfram

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Sisamiwe Bei Dir muss noch irgendwas anders sein als bei psilo und Onkelandy . Bei den beiden trat das nur nach dem Start auf, bei Dir (wie Du sagst) aber auch später zur Laufzeit

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Doch, vor einigen Versionen sind Maintenance Routinen hinzugekommen. Früher wuchs die Datenbank einfach ins unermessliche.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Die Ursache dürfte darin liegen, dass pymysql nur einen Cursor je connection unterstützt und das database Plugin aus mehreren Threads zur gleichen Zeit unterschiedliche Cursors nutzt.
    Aber geändert hat sich doch nicht, oder?
    Das mehrere Threads auf die DB zugreifen war doch schon immer so, oder?
    Warum tritt der Fehler jetzt auf?

    Einen Kommentar schreiben:

Lädt...
X