From 4417c5d027209f41b3ece8aa8f9252edb54f9ab0 Mon Sep 17 00:00:00 2001 From: liangyongxiong Date: Mon, 18 May 2020 18:28:13 +0800 Subject: [PATCH] 1) print workspace path on startup; 2) update gunicorn configuration --- mindinsight/backend/config/gunicorn_conf.py | 2 +- mindinsight/backend/run.py | 15 +++++++++------ mindinsight/scripts/start.py | 2 ++ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/mindinsight/backend/config/gunicorn_conf.py b/mindinsight/backend/config/gunicorn_conf.py index 36334474..8bb194a9 100644 --- a/mindinsight/backend/config/gunicorn_conf.py +++ b/mindinsight/backend/config/gunicorn_conf.py @@ -30,7 +30,7 @@ worker_connections = 1000 timeout = 30 graceful_timeout = 30 -daemon = True +daemon = False captureoutput = True diff --git a/mindinsight/backend/run.py b/mindinsight/backend/run.py index e8648323..627aa5d3 100644 --- a/mindinsight/backend/run.py +++ b/mindinsight/backend/run.py @@ -22,7 +22,6 @@ import shlex from gunicorn.glogging import Logger -from mindinsight.backend.config import gunicorn_conf from mindinsight.backend.config import WEB_CONFIG_DIR from mindinsight.conf import settings from mindinsight.utils.log import setup_logger @@ -241,12 +240,16 @@ def start(): stdout=subprocess.PIPE, stderr=subprocess.PIPE ) - _, stderr = process.communicate() - if stderr: - console.error(stderr.decode()) - # wait command success to end when gunicorn running in daemon. - if gunicorn_conf.daemon and process.wait() == 0: + # sleep 1 second for gunicorn appplication to load modules + time.sleep(1) + + # check if gunicorn application is running + if process.poll() is not None: + _, stderr = process.communicate() + for line in stderr.decode().split('\n'): + console.error(line) + else: state_result = _check_server_start_stat(errorlog_abspath, log_size) # print gunicorn start state to stdout console.info('Web address: http://%s:%s', settings.HOST, settings.PORT) diff --git a/mindinsight/scripts/start.py b/mindinsight/scripts/start.py index 96b94f42..e959d5bd 100644 --- a/mindinsight/scripts/start.py +++ b/mindinsight/scripts/start.py @@ -193,6 +193,8 @@ class Command(BaseCommand): self.logfile.error(error.message) sys.exit(1) + self.console.info('Workspace: %s', os.path.realpath(settings.WORKSPACE)) + run_module = import_module('mindinsight.backend.run') run_module.start()