diff --git a/main.py b/main.py index dadcea9..b912b74 100644 --- a/main.py +++ b/main.py @@ -149,11 +149,16 @@ class Sensor(): 'fields': data, } - try: - sensors_client.write_points([point]) - except requests.exceptions.ConnectionError: - logging.exception('Error connecting to InfluxDB!') - return + for attempt in range(3): + try: + sensors_client.write_points([point]) + break + except Exception as e: + logging.exception('Error writing to InfluxDB (attempt %s/3): %s', attempt + 1, e) + if attempt == 2: + controller_message('Failed to write to InfluxDB after 3 attempts: ' + str(e)) + return + time.sleep(1) logging.info('Wrote %s data to InfluxDB: %s', self, data)