From c1361816eb4d883bdd9d010049bbdb9fcfddc253 Mon Sep 17 00:00:00 2001 From: Impact <pascal.mouquet@ird.fr> Date: Fri, 29 Mar 2019 10:40:08 +0400 Subject: [PATCH] add try/except to multiprocessing for L2A / cloud_masks / Indices processing errors workaround --- sen2chain/multi_processing.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/sen2chain/multi_processing.py b/sen2chain/multi_processing.py index c90a471..917ed61 100644 --- a/sen2chain/multi_processing.py +++ b/sen2chain/multi_processing.py @@ -14,17 +14,21 @@ logging.basicConfig(level=logging.INFO) logger.setLevel(logging.INFO) def multi(product): - fwd = os.path.dirname(os.path.realpath(__file__)) - logger.info("Processing {}".format(product)) - cmd= ["setsid", "/usr/bin/python3", fwd + "/multiprocess_l2a.py", product] - proc = subprocess.Popen(cmd) + try: + fwd = os.path.dirname(os.path.realpath(__file__)) + logger.info("Processing {}".format(product)) + cmd= ["setsid", "/usr/bin/python3", fwd + "/multiprocess_l2a.py", product] + proc = subprocess.Popen(cmd) - l1c = L1cProduct(product) - l2a_identifier = l1c.identifier.replace("L1C_", "L2A_").replace("_OPER_", "_USER_") - l2a_prod = L2aProduct(l2a_identifier) - while not(l2a_prod.in_library): - sleep(5) - logger.info("End {}".format(product)) + l1c = L1cProduct(product) + l2a_identifier = l1c.identifier.replace("L1C_", "L2A_").replace("_OPER_", "_USER_") + l2a_prod = L2aProduct(l2a_identifier) + while not(l2a_prod.in_library): + sleep(5) + logger.info("End {}".format(product)) + except: + logger.info("Plante {}".format(product)) + pass def l2a_multiprocessing(process_list, nb_proc=4): """ """ @@ -49,7 +53,10 @@ def cldidx_multiprocessing(process_list, indice_list=["NDVI", "NDWIGAO", "NDWIMC def multi_cld(l2a_identifier): l2a = L2aProduct(l2a_identifier) - l2a.process_cloud_mask_v2() + try: + l2a.process_cloud_mask_v2() + except: + pass def cld_multiprocessing(process_list, nb_proc=4): """ """ @@ -63,7 +70,10 @@ def multi_idx(l2a_id_idx): l2a_identifier = l2a_id_idx[0] indice = [l2a_id_idx[1]] l2a = L2aProduct(l2a_identifier) - l2a.process_indices(indice, True, True) + try: + l2a.process_indices(indice, True, True) + except: + pass def idx_multiprocessing(process_list, nb_proc=4): """ """ -- GitLab