diff --git a/mindinsight/backend/config/gunicorn_conf.py b/mindinsight/backend/config/gunicorn_conf.py index 36334474f2c6dbb16b69e492f32ff069d6c3d693..8bb194a9283fab6de2914400046a37efd084a049 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 e8648323bae44a9a4043427a5ae776401a757329..627aa5d3443f90b28e8f21c562952497210f0971 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 96b94f42189b160c026ea4678748a3666154b002..e959d5bd0ac11c70877b330f19ba295b1ba8139c 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()