diff --git a/devices/statistics_writer/statistics_writer.py b/devices/statistics_writer/statistics_writer.py index 442dad14e53c5c803b82c7b39c6fb2dbca9ae861..8103cff39102614cd7f141fc2c12305e1a43e903 100644 --- a/devices/statistics_writer/statistics_writer.py +++ b/devices/statistics_writer/statistics_writer.py @@ -70,11 +70,16 @@ if __name__ == "__main__": writer.next_packet(packet) except EOFError: if reconnect and not filename: - logger.warning(f"{datetime.now()}\t Connection lost, attempting to reconnect") - while not receiver.reconnect(): - time.sleep(10) - logger.warning("no connection") - logger.warning(f"{datetime.now()}\t Reconnected! Resuming operations") + logger.warning("Connection lost, attempting to reconnect") + while True: + try: + receiver.reconnect() + except Exception as e: + logger.warning(f"Could not reconnect: {e.__class__.__name__}: {e}") + time.sleep(10) + else: + break + logger.warning("Reconnected! Resuming operations") else: logger.info("End of input.") raise SystemExit