Inaktive Clients automatisch löschen | Es werden keine Clients gelöscht

Started by André, December 07, 2016, 03:38:33 PM

Previous topic - Next topic

André

Hallo zusammen,

ich habe die neue Funktion auf einem Testserver eingerichtet, bei der Inaktive Clients nach einem gewissen Zeitraum gelöscht werden sollen.

In meinem Beispiel habe ich 700 Tage genommen und die Servergruppe Member (ist ziemlich überfüllt).

Ich habe den Bot gestartet und ne gute Stunde gewartet. Nur irgendwie werden entweder keine Clients gelöscht oder ich bin zu ungeduldig.

Jedenfalls zeigt der Log nichts brauchbares an:

07.12.2016 16:36:09    JTS3ServerMod    Information    Client database cache created, 15318 clients in cache.
07.12.2016 16:20:44    JTS3ServerMod    Information    Got command from Verden1992 @ Work: !botinfo
07.12.2016 16:10:15    JTS3ServerMod    Information    Server connection log is activated and will be written into the MySQL database
07.12.2016 16:10:15    JTS3ServerMod    Information    Creating client database cache...
07.12.2016 16:10:15    TestClientDelete    Information    Delete clients from Teamspeak 3 database after being inactive for at least 700 days. Only members of 1 specified server groups will be deleted.
07.12.2016 16:10:15    JTS3ServerMod    Information    Bot started and connected successful, write !botinfo in server chat to get an answer!
07.12.2016 16:10:15    JTS3ServerMod    Information    Successful selected virtual server on port 9987!
07.12.2016 16:10:15    JTS3ServerMod    Information    Login as "serveradmin" successful!


Der Error Log ist auch leer.

Nun ist die Frage ob ich zu viele Clients in meiner DB habe (aktuell liegt die DB Client ID bei über 34.600) oder ich wieder etwas falsch eingestellt habe.

Und ja, es sind genug Clients in meiner DB, welche länger als 700 Tage nicht auf unserem Server waren.

Die DB (TS3) ist lokal und nicht in MySQL oder so eingebunden.

Stefan1200

Quote from: André on December 07, 2016, 03:38:33 PM
Ich habe den Bot gestartet und ne gute Stunde gewartet.

Wird nur einmal am Tag gemacht. Bitte mindestens 25 Stunden warten.

André

Ok und was passiert wenn jede Nacht um 4 Uhr der Testserver neustartet? ^^

Das ist aktuell so auf der VM, weil da noch andere Dinge laufen.

Sollte ich den automatischen Reboot erstmal deaktiveren :P

Ich teste es und berichte.

Danke für die schnelle Antwort!

Stefan1200

Quote from: André on December 07, 2016, 03:53:33 PM
Ok und was passiert wenn jede Nacht um 4 Uhr der Testserver neustartet? ^^

Dann werden die Inaktiven Clients nie gelöscht. ;)

André

Quote from: Stefan1200 on December 07, 2016, 04:04:24 PM
Quote from: André on December 07, 2016, 03:53:33 PM
Ok und was passiert wenn jede Nacht um 4 Uhr der Testserver neustartet? ^^

Dann werden die Inaktiven Clients nie gelöscht. ;)

War mir klar :D

Habe mal den Auto Reboot ausgestellt und bin gespannt ob der Testserver morgen noch steht oder alles zerlegt ist :P

Bei 34k Clients wird er einiges zum sortieren haben ^^

Gab es schon mal Tests mit solch großen Datenbanken?

Eig. wollte ich auf dem Produktiv Server 365 Tage und keine 730 Tage nehmen ;)

Stefan1200

Quote from: André on December 07, 2016, 04:15:15 PM
Gab es schon mal Tests mit solch großen Datenbanken?

Nein, nicht von mir. Allerdings habe ich auch keine Negativ-Berichte erhalten.

André

Gut, dann bin ich mal gespannt.

Btw. mir ist noch ein kleiner Bug aufgefallen.

Profis sollte klar sein das man die Standard Servergruppe "Guest" nicht überprüfen kann auf untätige Clients.

Da ich aber kein Profi bin oder mal wieder dumm gewesen bin, ist mir natürlich der Log Eintrag aufgefallen:

07.12.2016 15:15:20    JTS3ServerMod    Kritisch    Error while getting client list!
07.12.2016 15:15:20    JTS3ServerMod    Fehler    java.lang.IllegalStateException: Closed TS3 Connection: java.net.SocketException: Connection reset
07.12.2016 15:14:33    JTS3ServerMod    Status    Activate log level: INFO
07.12.2016 15:14:33    JTS3ServerMod    Status    Virtual bot instance "Kartoffel-Test" starts now (build 6300)


Zuerst dachte ich es liegt an der zu großen DB. Aber nachdem ich die Servergruppe "Guest" aus der Funktion herausgenommen habe, kam der Fehler nicht mehr.

Sollte man vielleicht drauf hinweisen oder ausblenden die Gruppe in der Funktion :)

Stefan1200

Quote from: André on December 07, 2016, 04:32:34 PM
Profis sollte klar sein das man die Standard Servergruppe "Guest" nicht überprüfen kann auf untätige Clients.

Ich wüsste jetzt keinen Grund der dagegen spricht, wobei ich das auch nicht getestet habe.


Quote from: André on December 07, 2016, 04:32:34 PM
Zuerst dachte ich es liegt an der zu großen DB. Aber nachdem ich die Servergruppe "Guest" aus der Funktion herausgenommen habe, kam der Fehler nicht mehr.

Zufall, ein "Connection reset" passiert nicht, weil der Bot einem Gast eine Server Gruppe zuweist. Hier sehe ich keinen Zusammenhang.

André

Der "Zufall" wurde aber nach jedem Botneustart angezeigt. Erst als ich "Guest" herausgenommen habe, war dieser Log Eintrag / Fehler weg nach erneuten Botstarts und Stopps.

In der Servergruppe Guest sind ja auch keine Clients gelistet. Daher macht die Meldung sofern Sinn

Stefan1200

Quote from: André on December 07, 2016, 04:51:48 PM
In der Servergruppe Guest sind ja auch keine Clients gelistet. Daher macht die Meldung sofern Sinn

Nein, ein "SocketException: Connection reset" hat definitiv nichts mit dem IdleCheck zu tun.

André