ldhldh commited on
Commit
6867517
ยท
1 Parent(s): 751c006

Delete state_updater.py

Browse files
Files changed (1) hide show
  1. state_updater.py +0 -57
state_updater.py DELETED
@@ -1,57 +0,0 @@
1
- import datetime
2
- import threading
3
- import time
4
- from dataclasses import asdict, is_dataclass
5
- from enum import Enum
6
-
7
- import hivemind
8
- import simplejson
9
- from flask import Flask, render_template
10
-
11
- import config
12
- from health import fetch_health_state
13
- from metrics import get_prometheus_metrics
14
-
15
- logger = hivemind.get_logger(__name__)
16
-
17
-
18
- class StateUpdaterThread(threading.Thread):
19
- def __init__(self, dht: hivemind.DHT, app: Flask, **kwargs):
20
- super().__init__(**kwargs)
21
- self.dht = dht
22
- self.app = app
23
-
24
- self.state_json = self.state_html = None
25
- self.ready = threading.Event()
26
-
27
- def run(self):
28
- while True:
29
- start_time = time.perf_counter()
30
- try:
31
- state_dict = fetch_health_state(self.dht)
32
- with self.app.app_context():
33
- self.state_html = render_template("index.html", **state_dict)
34
- self.prometheus_metrics = get_prometheus_metrics(state_dict)
35
- self.state_json = simplejson.dumps(state_dict, indent=2, ignore_nan=True, default=json_default)
36
-
37
- self.ready.set()
38
- logger.info(f"Fetched new state in {time.perf_counter() - start_time:.1f} sec")
39
- except Exception:
40
- logger.error("Failed to update state:", exc_info=True)
41
-
42
- delay = config.UPDATE_PERIOD - (time.perf_counter() - start_time)
43
- if delay < 0:
44
- logger.warning("Update took more than update_period, consider increasing it")
45
- time.sleep(max(delay, 0))
46
-
47
-
48
- def json_default(value):
49
- if is_dataclass(value):
50
- return asdict(value)
51
- if isinstance(value, Enum):
52
- return value.name.lower()
53
- if isinstance(value, hivemind.PeerID):
54
- return value.to_base58()
55
- if isinstance(value, datetime.datetime):
56
- return value.timestamp()
57
- raise TypeError(f"Can't serialize {repr(value)}")