basic timeout
This commit is contained in:
parent
a5ebf13e97
commit
96fb5c0da4
@ -5,15 +5,17 @@
|
||||
|
||||
from http.server import BaseHTTPRequestHandler, HTTPServer
|
||||
import paho.mqtt.client as mqtt
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
import threading
|
||||
import time
|
||||
import json
|
||||
import sys
|
||||
import config
|
||||
|
||||
|
||||
scrape_healthy = True
|
||||
startTime = datetime.now()
|
||||
lastMqttReception = datetime.now()
|
||||
node_metrics = list()
|
||||
mutex = threading.Lock()
|
||||
request_count = 0
|
||||
@ -40,9 +42,13 @@ class RequestHandler(BaseHTTPRequestHandler):
|
||||
|
||||
def do_GET(self):
|
||||
global request_count
|
||||
global lastMqttReception
|
||||
global scrape_healthy
|
||||
request_count = request_count + 1
|
||||
#print("Request: " + self.path)
|
||||
if (self.path.startswith("/metrics")):
|
||||
if (datetime.now() - lastMqttReception) > timedelta(hours=7):
|
||||
scrape_healthy = False
|
||||
self.get_metrics()
|
||||
else:
|
||||
self.send_response(200)
|
||||
@ -64,7 +70,7 @@ def update_metrics(payload, metadata):
|
||||
global mutex
|
||||
global scrape_healthy
|
||||
mutex.acquire()
|
||||
scrape_healthy = True
|
||||
scrape_healthy = False
|
||||
node_metrics.clear()
|
||||
|
||||
if "Distance" in payload:
|
||||
@ -123,6 +129,7 @@ def update_metrics(payload, metadata):
|
||||
print("set snr: " + str(float(metadata[0]["snr"])))
|
||||
node_metrics.append("snr " + str(float(metadata[0]["snr"])))
|
||||
|
||||
scrape_healthy = True
|
||||
mutex.release()
|
||||
|
||||
def on_connect(mqttc, obj, flags, rc):
|
||||
@ -136,6 +143,7 @@ def on_message(mqttc, obj, msg):
|
||||
try:
|
||||
uplink_message = parsedJSON["uplink_message"]
|
||||
update_metrics(uplink_message["decoded_payload"], uplink_message["rx_metadata"])
|
||||
lastMqttReception = datetime.now()
|
||||
except:
|
||||
mutex.acquire()
|
||||
scrape_healthy = False
|
||||
|
Loading…
Reference in New Issue
Block a user