From 33f046c07206232ed67b43b2e3de72c7505cd554 Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Mon, 21 Oct 2024 10:28:25 +0200 Subject: [PATCH] [dataio/nix] adding sleep while writing --- pyrelacs/dataio/nix_writer.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pyrelacs/dataio/nix_writer.py b/pyrelacs/dataio/nix_writer.py index 6bd0be5..be84a79 100644 --- a/pyrelacs/dataio/nix_writer.py +++ b/pyrelacs/dataio/nix_writer.py @@ -1,3 +1,4 @@ +import time from IPython import embed import nixio @@ -17,15 +18,21 @@ class NixWriter: chunk = 1000 log.debug("Starting the writing") self.write = True + + total_count = self.buffer.totalcount() while self.write: - # log.debug(items) - try: - data, _ = self.buffer.read(items, extend=chunk) - self.data_array.append(data) - except IndexError as e: - # log.debug(f"{e}") + if total_count - items >= chunk: + log.debug(items) + try: + data, _ = self.buffer.read(items, extend=chunk) + self.data_array.append(data) + except IndexError as e: + time.sleep(0.01) + log.debug(f"{e}") + items += chunk + else: + time.sleep(0.01) continue - items += chunk log.debug("Stoppint the writing") log.debug(f"Samples written {items}") self.nix_file.close()