diff --git a/kcidev/libs/dashboard.py b/kcidev/libs/dashboard.py index a9f4d8b..f558c9a 100644 --- a/kcidev/libs/dashboard.py +++ b/kcidev/libs/dashboard.py @@ -44,6 +44,8 @@ def wrapper( logging.warning( f"Retrying request due to status {r.status_code} (attempt {retries}/{max_retries})" ) + # Delay before retrying, to prevent hammering the server with exponential backoff + time.sleep(2**retries) continue else: logging.error( diff --git a/kcidev/subcommands/bisect.py b/kcidev/subcommands/bisect.py index ad1140f..20ed83f 100644 --- a/kcidev/subcommands/bisect.py +++ b/kcidev/subcommands/bisect.py @@ -226,7 +226,7 @@ def bisection_loop(state): except Exception as e: logging.error(f"Error getting return code from kci-dev: {e}") kci_err(f"Error executing kci-dev, no returncode: {e}") - sys.exit + sys.exit(1) logging.info(f"Test completed with return code: {testret}")