Reduce frequency and print error
This commit is contained in:
@@ -8,7 +8,7 @@ from urllib import request
|
|||||||
# Configuration -------------------------------------------
|
# Configuration -------------------------------------------
|
||||||
meteo_station = "X8" # Barcelona - Zona Universitària
|
meteo_station = "X8" # Barcelona - Zona Universitària
|
||||||
listening_port = 9929
|
listening_port = 9929
|
||||||
update_period = 60 * 10 # Each 10 min
|
update_period = 60 * 5 # Each 5 min
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
metric_tmin = Gauge('meteocat_temp_min', 'Min temperature')
|
metric_tmin = Gauge('meteocat_temp_min', 'Min temperature')
|
||||||
@@ -17,7 +17,7 @@ metric_tavg = Gauge('meteocat_temp_avg', 'Average temperature')
|
|||||||
metric_srad = Gauge('meteocat_solar_radiation', 'Solar radiation')
|
metric_srad = Gauge('meteocat_solar_radiation', 'Solar radiation')
|
||||||
|
|
||||||
def update(st):
|
def update(st):
|
||||||
url = 'http://www.meteo.cat/observacions/xema/dades?codi=' + st
|
url = 'https://www.meteo.cat/observacions/xema/dades?codi=' + st
|
||||||
response = request.urlopen(url)
|
response = request.urlopen(url)
|
||||||
data = response.read()
|
data = response.read()
|
||||||
soup = BeautifulSoup(data, 'lxml')
|
soup = BeautifulSoup(data, 'lxml')
|
||||||
@@ -36,11 +36,19 @@ def update(st):
|
|||||||
metric_tmax.set(float(row_data[2]))
|
metric_tmax.set(float(row_data[2]))
|
||||||
metric_tmin.set(float(row_data[3]))
|
metric_tmin.set(float(row_data[3]))
|
||||||
metric_srad.set(float(row_data[10]))
|
metric_srad.set(float(row_data[10]))
|
||||||
|
#print("ok: temp_avg={}".format(float(row_data[1])))
|
||||||
except:
|
except:
|
||||||
pass
|
print("cannot parse row: {}".format(row))
|
||||||
|
metric_tavg.set(float("nan"))
|
||||||
|
metric_tmax.set(float("nan"))
|
||||||
|
metric_tmin.set(float("nan"))
|
||||||
|
metric_srad.set(float("nan"))
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
start_http_server(port=listening_port, addr="localhost")
|
start_http_server(port=listening_port, addr="localhost")
|
||||||
while True:
|
while True:
|
||||||
update(meteo_station)
|
try:
|
||||||
|
update(meteo_station)
|
||||||
|
except:
|
||||||
|
print("update failed")
|
||||||
time.sleep(update_period)
|
time.sleep(update_period)
|
||||||
|
|||||||
Reference in New Issue
Block a user