summary: persist peerstate via shelve

This commit is contained in:
Michael Schmoock
2020-08-02 17:30:16 +02:00
committed by Christian Decker
parent acf670b782
commit f4e3383ed6

View File

@@ -6,6 +6,7 @@ from summary_avail import *
import pyln.client import pyln.client
from math import floor, log10 from math import floor, log10
import requests import requests
import shelve
import threading import threading
import time import time
@@ -45,6 +46,7 @@ class PeerThread(threading.Thread):
try: try:
rpcpeers = plugin.rpc.listpeers() rpcpeers = plugin.rpc.listpeers()
trace_availability(plugin, rpcpeers) trace_availability(plugin, rpcpeers)
plugin.avail_peerstate.sync()
time.sleep(plugin.avail_interval) time.sleep(plugin.avail_interval)
except Exception as ex: except Exception as ex:
plugin.log("[PeerThread] " + str(ex), 'warn') plugin.log("[PeerThread] " + str(ex), 'warn')
@@ -222,7 +224,7 @@ def init(options, configuration, plugin):
plugin.currency_prefix = options['summary-currency-prefix'] plugin.currency_prefix = options['summary-currency-prefix']
plugin.fiat_per_btc = 0 plugin.fiat_per_btc = 0
plugin.avail_peerstate = {} plugin.avail_peerstate = shelve.open('summary.dat', writeback=True)
plugin.avail_count = 0 plugin.avail_count = 0
plugin.avail_interval = float(options['summary-availability-interval']) plugin.avail_interval = float(options['summary-availability-interval'])
plugin.avail_window = 60 * 60 * int(options['summary-availability-window']) plugin.avail_window = 60 * 60 * int(options['summary-availability-window'])