Browse Source

add 24 hours node count

master
R4SAS 5 years ago
parent
commit
d9216c95df
  1. 7
      api/max-min.py
  2. 27
      api/niflheim-api.py
  3. 8
      api/templates/index.html

7
api/max-min.py

@ -12,8 +12,13 @@ DB_USER = "yggindex"
DB_NAME = "yggindex" DB_NAME = "yggindex"
DB_HOST = "localhost" DB_HOST = "localhost"
# count peer alive if it was available not more that amount of seconds ago
# I'm using 1 hour beause of running crawler every 15 minutes
ALIVE_SECONDS = 3600 # 1 hour
def age_calc(ustamp): def age_calc(ustamp):
if (time.time() - ustamp) <= 14400 : if (time.time() - ustamp) <= ALIVE_SECONDS :
return True return True
else: else:
return False return False

27
api/niflheim-api.py

@ -16,7 +16,7 @@ DB_NAME = "yggindex"
DB_HOST = "localhost" DB_HOST = "localhost"
# count peer alive if it was available not more that amount of seconds ago # count peer alive if it was available not more that amount of seconds ago
# I'm using 1 hour beause of running cron job every 15 minutes # I'm using 1 hour beause of running crawler every 15 minutes
ALIVE_SECONDS = 3600 # 1 hour ALIVE_SECONDS = 3600 # 1 hour
@ -74,6 +74,30 @@ class nodesInfo(Resource):
return nodeinfo return nodeinfo
# alive nodes count for latest 24 hours
class nodes24h(Resource):
def get(self):
dbconn = psycopg2.connect(host=DB_HOST,\
database=DB_NAME,\
user=DB_USER,\
password=DB_PASSWORD)
cur = dbconn.cursor()
nodes = {}
cur.execute("SELECT * FROM timeseries ORDER BY unixtstamp DESC LIMIT 24")
for i in cur.fetchall():
nodes[i[1]] = i[0]
dbconn.commit()
cur.close()
dbconn.close()
nodeinfo = {}
nodeinfo['nodes24h'] = nodes
return nodeinfo
@app.route("/") @app.route("/")
def fpage(): def fpage():
dbconn = psycopg2.connect(host=DB_HOST,\ dbconn = psycopg2.connect(host=DB_HOST,\
@ -98,6 +122,7 @@ def fpage():
#sort out the api request here for the url #sort out the api request here for the url
api.add_resource(nodesCurrent, '/current') api.add_resource(nodesCurrent, '/current')
api.add_resource(nodesInfo, '/nodeinfo') api.add_resource(nodesInfo, '/nodeinfo')
api.add_resource(nodes24h, '/nodes24h')
if __name__ == '__main__': if __name__ == '__main__':
app.run(host='::', port=3000) app.run(host='::', port=3000)

8
api/templates/index.html

@ -23,11 +23,15 @@
Get a current list of active and online nodes:<br /> Get a current list of active and online nodes:<br />
<div class="apireq"> <div class="apireq">
<a href="/current">http://[31a:fb8a:c43e:ca59::2]/current</a> <a href="/current" target="_blank">http://[31a:fb8a:c43e:ca59::2]/current</a>
</div> </div>
Nodeinfo from all current active nodes:<br /> Nodeinfo from all current active nodes:<br />
<div class="apireq"> <div class="apireq">
<a href="/nodeinfo">http://[31a:fb8a:c43e:ca59::2]/nodeinfo</a> <a href="/nodeinfo" target="_blank">http://[31a:fb8a:c43e:ca59::2]/nodeinfo</a>
</div>
Active nodes count for last 24 hours:<br />
<div class="apireq">
<a href="/nodes24h" target="_blank">http://[31a:fb8a:c43e:ca59::2]/nodes24h</a>
</div> </div>
<div class="wide"></div> <div class="wide"></div>

Loading…
Cancel
Save