From c13282462a9fa458a58a3d14102dbb0f0c7ab73c Mon Sep 17 00:00:00 2001 From: Alexander Kryklia Date: Mon, 28 Apr 2014 12:20:47 +0300 Subject: [PATCH] Modify paver run_all_servers to allow different settings for LMS and Studio. --- docs/en_us/developers/source/pavelib.rst | 7 ++++++- pavelib/servers.py | 21 ++++++++++++++------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/docs/en_us/developers/source/pavelib.rst b/docs/en_us/developers/source/pavelib.rst index 5d17610bbd..bdd52907a5 100644 --- a/docs/en_us/developers/source/pavelib.rst +++ b/docs/en_us/developers/source/pavelib.rst @@ -140,7 +140,12 @@ Run Servers **run_celery**: runs celery for specified system - *--settings=* Environment settings e.g. aws, dev + *--settings=* Environment settings e.g. aws, dev both for LMS and Studio + + *--settings_lms=* Override django settings for LMS e.g. cms.dev + + *--settings_cms=* Override django settings for Studio + :: diff --git a/pavelib/servers.py b/pavelib/servers.py index 6c7f1890a3..9f2c176cba 100644 --- a/pavelib/servers.py +++ b/pavelib/servers.py @@ -105,26 +105,33 @@ def celery(options): @task @needs('pavelib.prereqs.install_prereqs') @cmdopts([ - ("settings=", "s", "Django settings"), + ("settings=", "s", "Django settings for both LMS and Studio"), ("worker_settings=", "w", "Celery worker Django settings"), - ("fast", "f", "Skip updating assets") + ("fast", "f", "Skip updating assets"), + ("settings_lms=", "l", "Set LMS only, overriding the value from --settings (if provided)"), + ("settings_cms=", "c", "Set Studio only, overriding the value from --settings (if provided)"), ]) def run_all_servers(options): """ Runs Celery workers, Studio, and LMS. """ settings = getattr(options, 'settings', 'dev') + settings_lms = getattr(options, 'settings_lms', settings) + settings_cms = getattr(options, 'settings_cms', settings) worker_settings = getattr(options, 'worker_settings', 'dev_with_worker') fast = getattr(options, 'fast', False) if not fast: - for system in ['lms', 'studio']: - args = [system, '--settings={}'.format(settings), '--skip-collect'] - call_task('pavelib.assets.update_assets', args=args) + args = ['lms', '--settings={}'.format(settings_lms), '--skip-collect'] + call_task('pavelib.assets.update_assets', args=args) + + args = ['studio', '--settings={}'.format(settings_cms), '--skip-collect'] + call_task('pavelib.assets.update_assets', args=args) + call_task('pavelib.assets.watch_assets', options={'background': True}) run_multi_processes([ - django_cmd('lms', settings, 'runserver', '--traceback', '--pythonpath=.', "0.0.0.0:{}".format(DEFAULT_PORT['lms'])), - django_cmd('studio', settings, 'runserver', '--traceback', '--pythonpath=.', "0.0.0.0:{}".format(DEFAULT_PORT['studio'])), + django_cmd('lms', settings_lms, 'runserver', '--traceback', '--pythonpath=.', "0.0.0.0:{}".format(DEFAULT_PORT['lms'])), + django_cmd('studio', settings_cms, 'runserver', '--traceback', '--pythonpath=.', "0.0.0.0:{}".format(DEFAULT_PORT['studio'])), django_cmd('lms', worker_settings, 'celery', 'worker', '--loglevel=INFO', '--pythonpath=.') ])