mirror of
https://github.com/frappe/bench.git
synced 2024-11-15 01:34:05 +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:
parent
b9e9eac411
commit
c690e8e7f5
@ -150,12 +150,12 @@ def exec_cmd(cmd, cwd=".", env=None, _raise=True):
|
|||||||
cwd_info = f"cd {cwd} && " if cwd != "." else ""
|
cwd_info = f"cd {cwd} && " if cwd != "." else ""
|
||||||
cmd_log = f"{cwd_info}{cmd}"
|
cmd_log = f"{cwd_info}{cmd}"
|
||||||
logger.debug(cmd_log)
|
logger.debug(cmd_log)
|
||||||
cmd = split(cmd)
|
spl_cmd = split(cmd)
|
||||||
return_code = subprocess.call(cmd, cwd=cwd, universal_newlines=True, env=env)
|
return_code = subprocess.call(spl_cmd, cwd=cwd, universal_newlines=True, env=env)
|
||||||
if return_code:
|
if return_code:
|
||||||
logger.warning(f"{cmd_log} executed with exit code {return_code}")
|
logger.warning(f"{cmd_log} executed with exit code {return_code}")
|
||||||
if _raise:
|
if _raise:
|
||||||
raise CommandFailedError
|
raise CommandFailedError from subprocess.CalledProcessError(return_code, cmd)
|
||||||
return return_code
|
return return_code
|
||||||
|
|
||||||
|
|
||||||
|
@ -298,6 +298,12 @@ def restart_supervisor_processes(bench_path=".", web_workers=False, _raise=False
|
|||||||
sudo = "sudo "
|
sudo = "sudo "
|
||||||
supervisor_status = get_cmd_output("sudo supervisorctl status", cwd=bench_path)
|
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:
|
if web_workers and f"{bench_name}-web:" in supervisor_status:
|
||||||
group = f"{bench_name}-web:\t"
|
group = f"{bench_name}-web:\t"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user