From 896539537773b451753dadae54517df0cac20456 Mon Sep 17 00:00:00 2001 From: Untone Date: Sat, 2 Nov 2024 04:28:16 +0300 Subject: [PATCH] viewed-fix --- services/viewed.py | 48 ++++++++++++++++++---------------------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/services/viewed.py b/services/viewed.py index 3ed0018f..c9d8f5be 100644 --- a/services/viewed.py +++ b/services/viewed.py @@ -37,12 +37,6 @@ class ViewedStorage: auth_result = None disabled = False start_date = datetime.now().strftime("%Y-%m-%d") - running = True - - @staticmethod - async def stop(): - self = ViewedStorage - self.running = False @staticmethod async def init(): @@ -202,26 +196,22 @@ class ViewedStorage: if self.disabled: return - try: - while self.running: - try: - await self.update_pages() - failed = 0 - except Exception as exc: - failed += 1 - logger.debug(exc) - logger.warning(" - update failed #%d, wait 10 secs" % failed) - if failed > 3 or isinstance(exc, asyncio.CancelledError): - logger.error("ViewedStorage worker cancelled") - break - finally: - self.running = False - - if failed == 0: - when = datetime.now(timezone.utc) + timedelta(seconds=self.period) - t = format(when.astimezone().isoformat()) - logger.info(" ⎩ next update: %s" % (t.split("T")[0] + " " + t.split("T")[1].split(".")[0])) - await asyncio.sleep(self.period) - else: - await asyncio.sleep(10) - logger.info(" - try to update views again") + while True: + try: + await self.update_pages() + failed = 0 + except Exception as exc: + failed += 1 + logger.debug(exc) + logger.info(" - update failed #%d, wait 10 secs" % failed) + if failed > 3: + logger.info(" - views update failed, not trying anymore") + break + if failed == 0: + when = datetime.now(timezone.utc) + timedelta(seconds=self.period) + t = format(when.astimezone().isoformat()) + logger.info(" ⎩ next update: %s" % (t.split("T")[0] + " " + t.split("T")[1].split(".")[0])) + await asyncio.sleep(self.period) + else: + await asyncio.sleep(10) + logger.info(" - try to update views again")