2
0
mirror of https://github.com/frappe/bench.git synced 2024-11-14 17:24:04 +00:00

fix: Handle supervisor escalation better (#1438)

* fix: Give more meaningful context in subproc failures

* fix: Handle supervisor escalation if no exc is raised

* fix: only apply sudo if not already running as sudo
This commit is contained in:
gavin 2023-02-24 15:13:36 +05:30 committed by GitHub
parent b9e9eac411
commit c690e8e7f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 3 deletions

View File

@ -150,12 +150,12 @@ def exec_cmd(cmd, cwd=".", env=None, _raise=True):
cwd_info = f"cd {cwd} && " if cwd != "." else ""
cmd_log = f"{cwd_info}{cmd}"
logger.debug(cmd_log)
cmd = split(cmd)
return_code = subprocess.call(cmd, cwd=cwd, universal_newlines=True, env=env)
spl_cmd = split(cmd)
return_code = subprocess.call(spl_cmd, cwd=cwd, universal_newlines=True, env=env)
if return_code:
logger.warning(f"{cmd_log} executed with exit code {return_code}")
if _raise:
raise CommandFailedError
raise CommandFailedError from subprocess.CalledProcessError(return_code, cmd)
return return_code

View File

@ -298,6 +298,12 @@ def restart_supervisor_processes(bench_path=".", web_workers=False, _raise=False
sudo = "sudo "
supervisor_status = get_cmd_output("sudo supervisorctl status", cwd=bench_path)
if not sudo and (
"error: <class 'PermissionError'>, [Errno 13] Permission denied" in supervisor_status
):
sudo = "sudo "
supervisor_status = get_cmd_output("sudo supervisorctl status", cwd=bench_path)
if web_workers and f"{bench_name}-web:" in supervisor_status:
group = f"{bench_name}-web:\t"