This is an automated email from the ASF dual-hosted git repository. dianfu pushed a commit to branch release-1.10 in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.10 by this push: new 62c0589 [FLINK-17092][python] Add retry when pip install dependencies (#12024) 62c0589 is described below commit 62c058984d4212a70c6b61c8ca09052fa90ce8c3 Author: Shuiqiang Chen <acqua....@alibaba-inc.com> AuthorDate: Fri May 8 09:29:37 2020 +0800 [FLINK-17092][python] Add retry when pip install dependencies (#12024) --- flink-python/pyflink/fn_execution/boot.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/flink-python/pyflink/fn_execution/boot.py b/flink-python/pyflink/fn_execution/boot.py index 51db49f..d374397 100644 --- a/flink-python/pyflink/fn_execution/boot.py +++ b/flink-python/pyflink/fn_execution/boot.py @@ -112,14 +112,24 @@ def pip_install_requirements(): if requirements_cache_path is not None: pip_install_commands.extend(["--find-links", requirements_cache_path]) - logging.info("Run command: %s\n" % " ".join(pip_install_commands)) - exit_code = call( - pip_install_commands, stdout=sys.stdout, stderr=sys.stderr, env=env) - if exit_code > 0: - raise Exception( - "Run command: %s error! exit code: %d" % - (" ".join(pip_install_commands), exit_code)) - + max_retry_times = 3 + cur_retry = 0 + while cur_retry < max_retry_times: + cur_retry += 1 + logging.info("Run command: %s with retry (%d/%d)\n" % (" ".join(pip_install_commands), + cur_retry, max_retry_times)) + exit_code = call( + pip_install_commands, stdout=sys.stdout, stderr=sys.stderr, env=env) + if exit_code != 0: + if cur_retry < max_retry_times: + logging.error("Run command: %s error! exit code: %d. Retry to run again!" % + (" ".join(pip_install_commands), exit_code)) + else: + raise Exception( + "Run command: %s error! exit code: %d. Max retry times exhausted!" % + (" ".join(pip_install_commands), exit_code)) + else: + break os.environ["PYTHONPATH"] = env["PYTHONPATH"] os.environ["PATH"] = env["PATH"]