From e6348244c7d2d1fbac7ec25dcabef4d32bb0fe44 Mon Sep 17 00:00:00 2001 From: bitromortac Date: Sun, 8 May 2022 08:59:38 +0200 Subject: [PATCH] liquidityhints: synchronize mc data conditionally --- lndmanage/lib/liquidityhints.py | 3 +++ lndmanage/lib/network.py | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lndmanage/lib/liquidityhints.py b/lndmanage/lib/liquidityhints.py index c250880..6db69ce 100644 --- a/lndmanage/lib/liquidityhints.py +++ b/lndmanage/lib/liquidityhints.py @@ -216,6 +216,7 @@ class LiquidityHintMgr: # badness hints have an exponential decay time of BADNESS_DECAY_SEC updated # every BADNESS_DECAY_ADJUSTMENT_SEC self._badness_timestamps: Dict[NodeID, float] = defaultdict(float) + self.mc_sync_timestamp: int = 0 @property def now(self): @@ -382,6 +383,7 @@ class LiquidityHintMgr: return string def extend_with_mission_control(self, mc_pairs): + logger.info("> Syncing mission control data.") for pair in mc_pairs: node_from = pair.node_from.hex() node_to = pair.node_to.hex() @@ -397,3 +399,4 @@ class LiquidityHintMgr: node_from, node_to, pair.history.fail_amt_msat, pair.history.fail_time, ) + self.mc_sync_timestamp = int(time.time()) \ No newline at end of file diff --git a/lndmanage/lib/network.py b/lndmanage/lib/network.py index a0c7da4..e5d8499 100644 --- a/lndmanage/lib/network.py +++ b/lndmanage/lib/network.py @@ -90,11 +90,11 @@ class Network: except Exception as e: logger.exception(e) - # TODO: don't load if we loaded some time ago # we extend our information with data from mission control - mc_pairs = self.node.query_mc() - self.liquidity_hints.extend_with_mission_control(mc_pairs) - self.save_liquidty_hints() + if self.liquidity_hints.mc_sync_timestamp < time.time() - settings.CACHING_RETENTION_MINUTES * 60: + mc_pairs = self.node.query_mc() + self.liquidity_hints.extend_with_mission_control(mc_pairs) + self.save_liquidty_hints() @profiled def save_liquidty_hints(self):