@@ -15,6 +15,13 @@ def write_influx(name, df):
15
15
# initialize client and write to InfluxDB
16
16
client = InfluxDBClient (url = inputs .influx_url , token = inputs .token , org = inputs .org_id , debug = False )
17
17
18
+ # check that InfluxDB bucket is available, then write data to InfluxDB
19
+ try :
20
+ test = client .query_api ().query (f'from(bucket:"{ inputs .influx_bucket } ") |> range(start: -10s)' )
21
+ except Exception as err :
22
+ print_influx_error (str (err ))
23
+ return
24
+
18
25
_write_client = client .write_api (
19
26
write_options = WriteOptions (batch_size = 5000 , flush_interval = 10_000 , jitter_interval = 2_000 , retry_interval = 5_000 ,)
20
27
)
@@ -124,3 +131,18 @@ def print_summary(device_id, log_file, df_phys):
124
131
"\n ---------------" ,
125
132
f"\n Device: { device_id } | Log file: { log_file .split (device_id )[- 1 ]} [Extracted { len (df_phys )} decoded frames]\n Period: { df_phys .index .min ()} - { df_phys .index .max ()} \n " ,
126
133
)
134
+
135
+
136
+ def print_influx_error (err ):
137
+ warning = "- WARNING: Unable to write data to InfluxDB |"
138
+
139
+ if "CERTIFICATE_VERIFY_FAILED" in err :
140
+ print (f"{ warning } check your influx_url ({ inputs .influx_url } )" )
141
+ elif "organization name" in err :
142
+ print (f"{ warning } check your org_id ({ inputs .org_id } )" )
143
+ elif "unauthorized access" in err :
144
+ print (f"{ warning } check your influx_url and token" )
145
+ elif "could not find bucket" in err :
146
+ print (f"{ warning } check your influx_bucket ({ inputs .influx_bucket } )" )
147
+ else :
148
+ print (err )
0 commit comments