From 21b6dcd648a72c424f4ac24e47e61adfc18aa30b Mon Sep 17 00:00:00 2001 From: Noel Merket Date: Tue, 2 Apr 2024 17:24:38 +0000 Subject: [PATCH] fixing weather download, adding backoff condition --- buildstockbatch/aws/aws.py | 5 +++-- buildstockbatch/cloud/docker_base.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/buildstockbatch/aws/aws.py b/buildstockbatch/aws/aws.py index d7754fea..176cae19 100644 --- a/buildstockbatch/aws/aws.py +++ b/buildstockbatch/aws/aws.py @@ -50,15 +50,16 @@ def backoff(thefunc, *args, **kwargs): backoff_mult = 1.1 delay = 3 tries = 5 - error_patterns = [r"\w+.NotFound"] + error_patterns = [r"\w+.NotFound", r"not in VALID state"] while tries > 0: try: result = thefunc(*args, **kwargs) except ClientError as error: error_code = error.response["Error"]["Code"] + error_msg = error.response["Error"]["Message"] caught_error = False for pat in error_patterns: - if re.search(pat, error_code): + if re.search(pat, error_code) or re.search(pat, error_msg): logger.debug(f"{error_code}: Waiting and retrying in {delay} seconds") caught_error = True time.sleep(delay) diff --git a/buildstockbatch/cloud/docker_base.py b/buildstockbatch/cloud/docker_base.py index 4914ad78..4a9c89f7 100644 --- a/buildstockbatch/cloud/docker_base.py +++ b/buildstockbatch/cloud/docker_base.py @@ -83,7 +83,7 @@ def _epws_by_option(options_lookup_path): "The epw files are specified in options_lookup.tsv under more than one parameter " f"type: {param_name}, {row[0]}" ) # noqa: E501 - epw_filename = row[row_has_epw.index(True) + 2].split("=")[1] + epw_filename = row[row_has_epw.index(True) + 2].split("=")[1].split("/")[-1] param_name = row[0] option_name = row[1] epws_by_option[option_name] = epw_filename