diff --git a/plugins/monitoring/monitoring.py b/plugins/monitoring/monitoring.py index c69f7bb3..9b08a502 100644 --- a/plugins/monitoring/monitoring.py +++ b/plugins/monitoring/monitoring.py @@ -26,6 +26,7 @@ def __init__(self, bot: Gunibot): self.logger = core.setup_logger(self.file) self.config = core.config.get(self.file) self.error_counter = 0 + self.session = aiohttp.ClientSession() async def cog_load(self) -> None: if self.config["monitoring_enabled"]: @@ -50,22 +51,21 @@ async def ping_monitoring(self): "?status=up&msg=OK&ping=" + str(ping)) # send request - async with aiohttp.ClientSession() as session: - async with session.get(url) as resp: - if resp.status != 200: - self.logger.error("Monitoring ping failed with status %s", resp.status) - return False - else: - json = await resp.json() - try: - if not json["ok"]: - self.logger.error("Monitoring ping failed with error : %s", json["msg"]) - return False - else: - return True - except KeyError: - self.logger.error("Monitoring ping failed") + async with self.session.get(url) as resp: + if resp.status != 200: + self.logger.error("Monitoring ping failed with status %s", resp.status) + return False + else: + json = await resp.json() + try: + if not json["ok"]: + self.logger.error("Monitoring ping failed with error : %s", json["msg"]) return False + else: + return True + except KeyError: + self.logger.error("Monitoring ping failed") + return False @tasks.loop(seconds=20) async def loop(self):