Просмотр исходного кода

Squelching trivial disconnect log messages

tags/2.0.0
Rocketsoup 2 месяцев назад
Родитель
Сommit
427ee8c7bb
1 измененных файлов: 11 добавлений и 3 удалений
  1. 11
    3
      rocketbot/cogs/generalcog.py

+ 11
- 3
rocketbot/cogs/generalcog.py Просмотреть файл

25
 		self.is_ready = False
25
 		self.is_ready = False
26
 		self.is_first_ready = True
26
 		self.is_first_ready = True
27
 		self.is_first_connect = True
27
 		self.is_first_connect = True
28
+		self.last_disconnect_time: Optional[datetime] = None
29
+		self.noteworthy_disconnect_duration = timedelta(seconds=5)
28
 
30
 
29
 	@commands.Cog.listener()
31
 	@commands.Cog.listener()
30
 	async def on_connect(self):
32
 	async def on_connect(self):
33
 			self.log(None, 'Connected')
35
 			self.log(None, 'Connected')
34
 			self.is_first_connect = False
36
 			self.is_first_connect = False
35
 		else:
37
 		else:
36
-			self.log(None, 'Reconnected')
38
+			disconnect_duration = datetime.now(
39
+				timezone.utc) - self.last_disconnect_time if self.last_disconnect_time else None
40
+			if disconnect_duration is not None and disconnect_duration > self.noteworthy_disconnect_duration:
41
+				self.log(None, f'Reconnected after {disconnect_duration.total_seconds()} seconds')
37
 		self.is_connected = True
42
 		self.is_connected = True
38
 
43
 
39
 	@commands.Cog.listener()
44
 	@commands.Cog.listener()
40
 	async def on_disconnect(self):
45
 	async def on_disconnect(self):
41
 		"""Event handler"""
46
 		"""Event handler"""
42
-		self.log(None, 'Disconnected')
47
+		self.last_disconnect_time = datetime.now(timezone.utc)
48
+		# self.log(None, 'Disconnected')
43
 
49
 
44
 	@commands.Cog.listener()
50
 	@commands.Cog.listener()
45
 	async def on_ready(self):
51
 	async def on_ready(self):
53
 	@commands.Cog.listener()
59
 	@commands.Cog.listener()
54
 	async def on_resumed(self):
60
 	async def on_resumed(self):
55
 		"""Event handler"""
61
 		"""Event handler"""
56
-		self.log(None, 'Session resumed')
62
+		disconnect_duration = datetime.now(timezone.utc) - self.last_disconnect_time if self.last_disconnect_time else None
63
+		if disconnect_duration is not None and disconnect_duration > self.noteworthy_disconnect_duration:
64
+			self.log(None, f'Session resumed after {disconnect_duration.total_seconds()} seconds')
57
 
65
 
58
 	@commands.command(
66
 	@commands.command(
59
 		brief='Posts a test warning',
67
 		brief='Posts a test warning',

Загрузка…
Отмена
Сохранить