#292_shutdown_procedure #321
No reviewers
Labels
No Label
MVP
web-interface
bug
bugfix
cli
discussion
documentation
duplicate
expense
high
expense
low
expense
medium
expense
very-high
help wanted
improvement
invalid
priority
blocker
priority
high
priority
low
priority
medium
question
refactoring
release
story
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sh-edraft.de/sh_discord_bot#321
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "#292_shutdown_procedure"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
abhängig von sh-edraft.de/kd_discord_bot#297
WIP: #292_shutdown_procedureto #292_shutdown_procedureErst 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}")
Wenn
user
None ist, dann wird_logger.fatal
und danach_logger.debug
aufgerufen. Da fehlt eincontinue
fatal ist ein Prozess ende
Siehe cpl logger_service.py:230-249
@ -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)
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}")
Auch hier fehlt ein
continue
@ -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)
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}",
)
Hier fehlt wieder ein
continue
@ -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)
"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()
An anderen Stellen wird geprüft, ob der Eintrag auch wirklich gespeichert wurde.
@ -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)
"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}")
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
server
None ist.Evtl nach Protokollieren ein
continue
?@ -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)
Hier sollte es zu einer NullReferenceException kommen, wenn
server
None ist.@ -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}")
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
user
None ist. Evtl nach Protokollieren eincontinue
?@ -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)
Hier sollte es zu einer NullReferenceException kommen, wenn
user
None ist.@ -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()
An anderen Stellen wird geprüft, ob der Eintrag auch wirklich gespeichert wurde.
@ -0,0 +220,4 @@
)
self._db_context.save_changes()
self._logger.debug(__name__, f"Added UserJoinedServer: {u.id}")
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)
"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()
Den Block
hast du außerhalb vom
try except
. Bei allen anderen Methoden sind die Befehle innerhalb destyr 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)
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
server
None ist.Evtl nach Protokollieren ein
continue
?@ -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)
Hier sollte es zu einer NullReferenceException kommen, wenn
server
None ist.@ -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}")
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
user
None ist. Evtl nach Protokollieren eincontinue
?@ -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)
Hier sollte es zu einer NullReferenceException kommen, wenn
user
None ist.@ -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}")
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
user
None ist. Evtl nach Protokollieren eincontinue
?@ -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())
Hier sollte es zu einer NullReferenceException kommen, wenn
user
None ist.@ -0,0 +313,4 @@
self._db_context.save_changes()
except Exception as e:
self._logger.error(__name__, f"Cannot get UserJoinedVoiceChannel", e)
"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}")
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
server
None ist.Evtl nach Protokollieren ein
continue
?@ -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)
Hier sollte es zu einer NullReferenceException kommen, wenn
server
None ist.@ -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}")
Wie unten Angemerkt kommt es zu einer NullReferenceException wenn
user
None ist. Evtl nach Protokollieren eincontinue
?@ -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)
Hier sollte es zu einer NullReferenceException kommen, wenn
user
None ist.@ -0,0 +358,4 @@
self._db_context.save_changes()
except Exception as e:
self._logger.error(__name__, f"Cannot get UserJoinedGameServer", e)
"An error occurred while checking UserJoinedGameServer"?