diff --git a/ingestor/app.py b/ingestor/app.py index 20b5c6b6574d158c0cc453697ff014d14814119e..bba7ca8fe6bfb3b6c50fe104a8b0700d067945cb 100644 --- a/ingestor/app.py +++ b/ingestor/app.py @@ -80,18 +80,20 @@ queue_name = os.environ['REDIS_PREPROCESS_MD_QUEUE_KEY'] @application.route('/', methods=['POST']) def ingest(): - request.get_data() - browse_report = parse_browse_report(request.data) - logger.debug(browse_report) - if isinstance(browse_report, str): - queue_content = browse_report - filename = queue_content - else: - queue_content = json.dumps( - browse_report, default=converter - ) - filename = browse_name(browse_report) + try: + request.get_data() + browse_report = parse_browse_report(request.data) + logger.debug(browse_report) + if isinstance(browse_report, str): + queue_content = browse_report + filename = queue_content + else: + queue_content = json.dumps( + browse_report, default=converter + ) + filename = browse_name(browse_report) + client.lpush(queue_name, queue_content) save_endpoint_report(filename, request.data, True) diff --git a/ingestor/filedaemon.py b/ingestor/filedaemon.py index 05eea01e8f1f8d88b4a5b0aa90f6d941e1e28760..8c066c4ccb3c34ea9ddb4a77bc446d070d3edad9 100644 --- a/ingestor/filedaemon.py +++ b/ingestor/filedaemon.py @@ -84,17 +84,18 @@ class EventHandler(pyinotify.ProcessEvent): def process_IN_CLOSE_WRITE(self, event): logger.info(f'Parsing browse file: {event.pathname}') - with open(event.pathname) as f: - browse_report = parse_browse_report(f) - logger.debug(browse_report) - if isinstance(browse_report, str): - queue_content = browse_report - - else: - queue_content = json.dumps( - browse_report, default=converter - ) - try: + try: + with open(event.pathname) as f: + browse_report = parse_browse_report(f) + logger.debug(browse_report) + if isinstance(browse_report, str): + queue_content = browse_report + + else: + queue_content = json.dumps( + browse_report, default=converter + ) + client.lpush(queue_name, queue_content) save_mount_report(event.pathname, True)