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:
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 ""
|
||||
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
|
||||
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user