#292_shutdown_procedure #321

Merged
edraft merged 6 commits from #292_shutdown_procedure into 1.1.0 2023-07-18 11:03:16 +02:00
Owner
abhängig von https://git.sh-edraft.de/sh-edraft.de/kd_discord_bot/issues/297
edraft self-assigned this 2023-06-14 11:54:57 +02:00
edraft added 8 commits 2023-06-14 11:54:58 +02:00
edraft requested review from Ebola-Chan 2023-06-14 11:55:01 +02:00
edraft added this to the Sprint 1.1.0 project 2023-06-14 11:55:08 +02:00
edraft changed title from WIP: #292_shutdown_procedure to #292_shutdown_procedure 2023-06-16 10:39:45 +02:00
edraft added 1 commit 2023-06-16 10:40:19 +02:00
Ebola-Chan requested changes 2023-06-20 23:32:32 +02:00
Ebola-Chan left a comment
Contributor

Erst in nachhinein habe ich gemerkt, dass bei data_integrity_service.py die Methoden mit Absicht gegen die Wand fahren sollen.
Evtl. wäre es besser lesbarer, wenn man an den stellen gleich eine Exception wirft. Somz spart man sich auch ein paar CPU-Cyklen ;)

Erst in nachhinein habe ich gemerkt, dass bei ```data_integrity_service.py``` die Methoden mit Absicht gegen die Wand fahren sollen. Evtl. wäre es besser lesbarer, wenn man an den stellen gleich eine Exception wirft. Somz spart man sich auch ein paar CPU-Cyklen ;)
@ -0,0 +81,4 @@
user = self._known_users.find_user_by_discord_id(u.id)
if user is None:
self._logger.fatal(__name__, f"Cannot add user: {u.id}")
Contributor

Wenn user None ist, dann wird _logger.fatal und danach _logger.debug aufgerufen. Da fehlt ein continue

if user is None:
    self._logger.fatal(__name__, f"Cannot add user: {u.id}")
    continue #<== Hier fehlt das continue
    
self._logger.debug(__name__, f"Added user: {u.id}")
Wenn ```user``` None ist, dann wird ```_logger.fatal``` und danach ```_logger.debug``` aufgerufen. Da fehlt ein ```continue``` ```python if user is None: self._logger.fatal(__name__, f"Cannot add user: {u.id}") continue #<== Hier fehlt das continue self._logger.debug(__name__, f"Added user: {u.id}") ```
Author
Owner

fatal ist ein Prozess ende
Siehe cpl logger_service.py:230-249

fatal ist ein Prozess ende Siehe cpl logger_service.py:230-249
Ebola-Chan marked this conversation as resolved
@ -0,0 +85,4 @@
self._logger.debug(__name__, f"Added user: {u.id}")
except Exception as e:
self._logger.error(__name__, f"Cannot get user", e)
Contributor

Die Fehlermeldung "Cannot get user" ist für mich zu ungenau. Was ist wenn es zu einem Fehler kommt, wenn der Bot versucht den User zu speichern?

Wie wäre es mit: "An error occurred while checking for known users"?

Die Fehlermeldung "Cannot get user" ist für mich zu ungenau. Was ist wenn es zu einem Fehler kommt, wenn der Bot versucht den User zu speichern? Wie wäre es mit: "An error occurred while checking for known users"?
@ -0,0 +103,4 @@
server = self._servers.find_server_by_discord_id(g.id)
if server is None:
self._logger.fatal(__name__, f"Cannot add server: {g.id}")
Contributor

Auch hier fehlt ein continue

Auch hier fehlt ein ```continue```
edraft marked this conversation as resolved
@ -0,0 +107,4 @@
self._logger.debug(__name__, f"Added server: {g.id}")
except Exception as e:
self._logger.error(__name__, f"Cannot get server", e)
Contributor

Fehlermeldung auch hier zu allgemein.

"An error occurred while checking servers"?

Fehlermeldung auch hier zu allgemein. "An error occurred while checking servers"?
@ -0,0 +139,4 @@
self._logger.fatal(
__name__,
f"Cannot add client {self._bot.user.id} for server {g.id}",
)
Contributor

Hier fehlt wieder ein continue

Hier fehlt wieder ein ```continue```
edraft marked this conversation as resolved
@ -0,0 +143,4 @@
self._logger.debug(__name__, f"Added client: {g.id}")
except Exception as e:
self._logger.error(__name__, f"Cannot get client", e)
Contributor

"An error occurred while checking clients"?

"An error occurred while checking clients"?
@ -0,0 +173,4 @@
self._logger.debug(__name__, f"Add user: {u.id}")
self._users.add_user(User(u.id, 0, server))
self._db_context.save_changes()
Contributor

An anderen Stellen wird geprüft, ob der Eintrag auch wirklich gespeichert wurde.

user = self._users.find_user_by_discord_id_and_server_id(u.id, server.id)

if user is None:
    self._logger.fatal(__name__, f"Cannot add user: {u.id}")
    continue 
    
self._logger.debug(__name__, f"Added user: {u.id}")
An anderen Stellen wird geprüft, ob der Eintrag auch wirklich gespeichert wurde. ```python user = self._users.find_user_by_discord_id_and_server_id(u.id, server.id) if user is None: self._logger.fatal(__name__, f"Cannot add user: {u.id}") continue self._logger.debug(__name__, f"Added user: {u.id}") ```
@ -0,0 +176,4 @@
self._logger.debug(__name__, f"Added User: {u.id}")
except Exception as e:
self._logger.error(__name__, f"Cannot get User", e)
Contributor

"An error occurred while checking users"?

"An error occurred while checking users"?
@ -0,0 +189,4 @@
server = self._servers.find_server_by_discord_id(guild.id)
if server is None:
self._logger.fatal(__name__, f"Server not found in database: {guild.id}")
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn server None ist.
Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```server``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +198,4 @@
self._logger.trace(__name__, f"User {u.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(u.id, server.id)
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn server None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```server``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +200,4 @@
user = self._users.find_user_by_discord_id_and_server_id(u.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {u.id}")
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn user None ist. Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```user``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +202,4 @@
if user is None:
self._logger.fatal(__name__, f"User not found in database: {u.id}")
join = self._user_joins.find_active_user_joined_server_by_user_id(user.id)
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn user None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```user``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +218,4 @@
self._user_joins.add_user_joined_server(
UserJoinedServer(user, self._dtp.transform(m.joined_at), None)
)
self._db_context.save_changes()
Contributor

An anderen Stellen wird geprüft, ob der Eintrag auch wirklich gespeichert wurde.

join = self._user_joins.find_active_user_joined_server_by_user_id(user.id)

if join is None:
    self._logger.fatal(__name__, f"Cannot add UserJoinedServer: {guild.id}:{u.id}@{m.joined_at}")
    continue 
    
self._logger.debug(__name__, f"Added UserJoinedServer: {guild.id}:{u.id}@{m.joined_at}")
An anderen Stellen wird geprüft, ob der Eintrag auch wirklich gespeichert wurde. ```python join = self._user_joins.find_active_user_joined_server_by_user_id(user.id) if join is None: self._logger.fatal(__name__, f"Cannot add UserJoinedServer: {guild.id}:{u.id}@{m.joined_at}") continue self._logger.debug(__name__, f"Added UserJoinedServer: {guild.id}:{u.id}@{m.joined_at}") ```
@ -0,0 +220,4 @@
)
self._db_context.save_changes()
self._logger.debug(__name__, f"Added UserJoinedServer: {u.id}")
Contributor

Im Obrigen Beispiel hatte ich die Meldung angepasst.
"Added UserJoinedServer: {guild.id}:{u.id}@{m.joined_at}"

Im Obrigen Beispiel hatte ich die Meldung angepasst. ```"Added UserJoinedServer: {guild.id}:{u.id}@{m.joined_at}"```
@ -0,0 +222,4 @@
self._logger.debug(__name__, f"Added UserJoinedServer: {u.id}")
except Exception as e:
self._logger.error(__name__, f"Cannot get UserJoinedServer", e)
Contributor

"An error occurred while checking UserJoinedServers"?

"An error occurred while checking UserJoinedServers"?
@ -0,0 +224,4 @@
except Exception as e:
self._logger.error(__name__, f"Cannot get UserJoinedServer", e)
results = self._users.get_users()
Contributor

Den Block

	        results = self._users.get_users()
            if results is None or len(results) == 0:
                self._logger.error(__name__, f"Table Users is empty!")

            joins = self._user_joins.get_user_joined_servers()
            for join in joins:
                join: UserJoinedServer = join
                if join.user.server.discord_id != guild.id:
                    continue

                if join.leaved_on is not None:
                    continue

                dc_user = guild.get_member(join.user.discord_id)
                if dc_user is None:
                    self._logger.warn(
                        __name__,
                        f"User {join.user.discord_id} already left the server.",
                    )
                    join.leaved_on = datetime.now()
                    self._user_joins.update_user_joined_server(join)

            self._db_context.save_changes()

hast du außerhalb vom try except. Bei allen anderen Methoden sind die Befehle innerhalb des tyr except

Den Block ```python results = self._users.get_users() if results is None or len(results) == 0: self._logger.error(__name__, f"Table Users is empty!") joins = self._user_joins.get_user_joined_servers() for join in joins: join: UserJoinedServer = join if join.user.server.discord_id != guild.id: continue if join.leaved_on is not None: continue dc_user = guild.get_member(join.user.discord_id) if dc_user is None: self._logger.warn( __name__, f"User {join.user.discord_id} already left the server.", ) join.leaved_on = datetime.now() self._user_joins.update_user_joined_server(join) self._db_context.save_changes() ``` hast du außerhalb vom ```try except```. Bei allen anderen Methoden sind die Befehle innerhalb des ```tyr except```
@ -0,0 +254,4 @@
guild: discord.Guild = guild
settings: BaseServerSettings = self._config.get_configuration(f"BaseServerSettings_{guild.id}")
server = self._servers.find_server_by_discord_id(guild.id)
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn server None ist.
Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```server``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +265,4 @@
self._logger.trace(__name__, f"User {member.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn server None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```server``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +267,4 @@
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn user None ist. Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```user``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +269,4 @@
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
joins = self._user_joins_vc.find_active_user_joined_voice_channels_by_user_id(user.id)
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn user None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```user``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +306,4 @@
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn user None ist. Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```user``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +308,4 @@
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
join = UserJoinedVoiceChannel(user, member.voice.channel.id, datetime.now())
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn user None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```user``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +313,4 @@
self._db_context.save_changes()
except Exception as e:
self._logger.error(__name__, f"Cannot get UserJoinedVoiceChannel", e)
Contributor

"An error occurred while checking user joins"?

"An error occurred while checking user joins"?
@ -0,0 +322,4 @@
server = self._servers.find_server_by_discord_id(guild.id)
if server is None:
self._logger.fatal(__name__, f"Server not found in database: {guild.id}")
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn server None ist.
Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```server``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +330,4 @@
self._logger.trace(__name__, f"User {member.id} is ignored, because its a bot")
continue
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn server None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```server``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +332,4 @@
user = self._users.find_user_by_discord_id_and_server_id(member.id, server.id)
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
Contributor

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn user None ist. Evtl nach Protokollieren ein continue?

Wie unten Angemerkt kommt es zu einer NullReferenceException wenn ```user``` None ist. Evtl nach Protokollieren ein ```continue```?
Ebola-Chan marked this conversation as resolved
@ -0,0 +334,4 @@
if user is None:
self._logger.fatal(__name__, f"User not found in database: {member.id}")
joins = self._user_joined_gs.find_active_user_joined_game_servers_by_user_id(user.id)
Contributor

Hier sollte es zu einer NullReferenceException kommen, wenn user None ist.

Hier sollte es zu einer NullReferenceException kommen, wenn ```user``` None ist.
Ebola-Chan marked this conversation as resolved
@ -0,0 +358,4 @@
self._db_context.save_changes()
except Exception as e:
self._logger.error(__name__, f"Cannot get UserJoinedGameServer", e)
Contributor

"An error occurred while checking UserJoinedGameServer"?

"An error occurred while checking UserJoinedGameServer"?
Ebola-Chan approved these changes 2023-07-17 23:21:49 +02:00
edraft added 1 commit 2023-07-18 11:03:02 +02:00
edraft merged commit 95e766d023 into 1.1.0 2023-07-18 11:03:16 +02:00
edraft deleted branch #292_shutdown_procedure 2023-07-18 11:03:17 +02:00
Sign in to join this conversation.
No description provided.