X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git;a=blobdiff_plain;f=store.py;fp=store.py;h=425f08d7ce85f322addb44219ed7ab0341926132;hp=add3df6349dfa40d2231682b8117b7e82053ed53;hb=6746607a578eca3383ade7fe7a88c39612f4d6e8;hpb=8e648fd5b8d10c8f68b30ee0c30f02d5b60a1b77 diff --git a/store.py b/store.py index add3df6..425f08d 100644 --- a/store.py +++ b/store.py @@ -517,7 +517,7 @@ class Portfolio: elif delta < datetime.timedelta(days=1): return 60*60 else: - raise "Too long waiting" + raise Exception("Too long waiting") @classmethod def start_worker(cls): @@ -555,7 +555,10 @@ class Portfolio: cls.report.print_log("[Worker] Fetching cryptoportfolio") cls.get_cryptoportfolio(refetch=True) cls.callback.set() - time.sleep(cls.next_wait_time()) + try: + time.sleep(cls.next_wait_time()) + except Exception: + cls.stop_worker() @classmethod def stop_worker(cls): @@ -591,6 +594,8 @@ class Portfolio: if cls.data.get() is not None and not refetch: return if cls.worker is not None and not cls.is_worker_thread(): + if not cls.worker_started: + raise Exception("Portfolio worker is down and no usable data is present") cls.notify_and_wait() return try: