|
@@ -1,15 +1,16 @@
|
|
import multiprocessing
|
|
import multiprocessing
|
|
import yaml
|
|
import yaml
|
|
|
|
|
|
-from os import environ, makedirs, path
|
|
|
|
|
|
+from os import chdir, environ, makedirs, getcwd, path
|
|
|
|
|
|
import gunicorn.app.base
|
|
import gunicorn.app.base
|
|
|
|
|
|
|
|
+from lakesuperior import env, env_setup
|
|
from lakesuperior.config_parser import default_config_dir
|
|
from lakesuperior.config_parser import default_config_dir
|
|
from lakesuperior.env import env
|
|
from lakesuperior.env import env
|
|
|
|
|
|
|
|
|
|
-config_file = '{}/gunicorn.yml'.format(default_config_dir)
|
|
|
|
|
|
+config_file = path.join(default_config_dir, 'gunicorn.yml')
|
|
|
|
|
|
with open(config_file, 'r') as fh:
|
|
with open(config_file, 'r') as fh:
|
|
config = yaml.load(fh, yaml.SafeLoader)
|
|
config = yaml.load(fh, yaml.SafeLoader)
|
|
@@ -17,11 +18,14 @@ with open(config_file, 'r') as fh:
|
|
listen_addr = config.get('listen_addr', '0.0.0.0')
|
|
listen_addr = config.get('listen_addr', '0.0.0.0')
|
|
listen_port = config.get('listen_port', 8000)
|
|
listen_port = config.get('listen_port', 8000)
|
|
preload_app = config.get('preload_app', True)
|
|
preload_app = config.get('preload_app', True)
|
|
-app_mode = config.get('app_mode', 'prod')
|
|
|
|
|
|
+app_mode = env.app_globals.config['application'].get('app_mode', 'prod')
|
|
|
|
|
|
|
|
+oldwd = getcwd()
|
|
|
|
+chdir(env.app_globals.config['application']['data_dir'])
|
|
data_dir = path.realpath(config.get('data_dir'))
|
|
data_dir = path.realpath(config.get('data_dir'))
|
|
-run_dir = '{}/run'.format(data_dir)
|
|
|
|
-log_dir = '{}/log'.format(data_dir)
|
|
|
|
|
|
+chdir(oldwd)
|
|
|
|
+run_dir = path.join(data_dir, 'run')
|
|
|
|
+log_dir = path.join(data_dir, 'log')
|
|
makedirs(log_dir, exist_ok=True)
|
|
makedirs(log_dir, exist_ok=True)
|
|
makedirs(run_dir, exist_ok=True)
|
|
makedirs(run_dir, exist_ok=True)
|
|
|
|
|
|
@@ -43,9 +47,9 @@ options = {
|
|
'daemon': app_mode=='prod',
|
|
'daemon': app_mode=='prod',
|
|
'reload': app_mode=='dev' and not preload_app,
|
|
'reload': app_mode=='dev' and not preload_app,
|
|
|
|
|
|
- 'pidfile': '{}/fcrepo.pid'.format(run_dir),
|
|
|
|
- 'accesslog': '{}/gunicorn-access.log'.format(log_dir),
|
|
|
|
- 'errorlog': '{}/gunicorn-error.log'.format(log_dir),
|
|
|
|
|
|
+ 'pidfile': path.join(run_dir, 'fcrepo.pid'),
|
|
|
|
+ 'accesslog': path.join(log_dir, 'gunicorn-access.log'),
|
|
|
|
+ 'errorlog': path.join(log_dir, 'gunicorn-error.log'),
|
|
}
|
|
}
|
|
env.wsgi_options = options
|
|
env.wsgi_options = options
|
|
|
|
|