Launch celery directly instead of via django-celery (BOM-1157) (#23222)

This commit is contained in:
Tim McCormack
2020-02-27 21:53:27 +00:00
committed by GitHub
parent 953b0e728b
commit 341205a85d
4 changed files with 9 additions and 7 deletions

View File

@@ -8,7 +8,7 @@ of tasks onto the appropriate workers.
In two separate processes on devstack:
paver devstack studio --settings=devstack_with_worker
./manage.py cms celery worker --settings=devstack_with_worker
celery worker --app=cms.envs.devstack_with_worker
"""

View File

@@ -8,7 +8,7 @@ of tasks onto the appropriate workers.
In two separate processes on devstack:
paver devstack lms --settings=devstack_with_worker
./manage.py lms celery worker --settings=devstack_with_worker
celery worker --app=lms.envs.devstack_with_worker
"""

View File

@@ -34,7 +34,7 @@ EXPECTED_COLLECT_STATIC_COMMAND = (
u'--noinput {log_string}'
)
EXPECTED_CELERY_COMMAND = (
u"python manage.py lms --settings={settings} celery worker --beat --loglevel=INFO --pythonpath=."
u"celery worker --app=lms.envs.{settings} --beat --loglevel=INFO --pythonpath=."
)
EXPECTED_RUN_SERVER_COMMAND = (
u"python manage.py {system} --settings={settings} runserver --traceback --pythonpath=. 0.0.0.0:{port}"

View File

@@ -9,7 +9,7 @@ import sys
from paver.easy import call_task, cmdopts, consume_args, needs, sh, task
from .assets import collect_assets
from .utils.cmd import django_cmd
from .utils.cmd import cmd, django_cmd
from .utils.envs import Env
from .utils.process import run_multi_processes, run_process
from .utils.timer import timed
@@ -159,7 +159,8 @@ def celery(options):
Runs Celery workers.
"""
settings = getattr(options, 'settings', 'devstack_with_worker')
run_process(django_cmd('lms', settings, 'celery', 'worker', '--beat', '--loglevel=INFO', '--pythonpath=.'))
run_process(cmd('celery', 'worker', '--app=lms.envs.{}'.format(settings),
'--beat', '--loglevel=INFO', '--pythonpath=.'))
@task
@@ -234,8 +235,9 @@ def run_all_servers(options):
django_cmd(
'studio', settings_cms, 'runserver', '--traceback', '--pythonpath=.', *cms_runserver_args
),
django_cmd(
'lms', worker_settings, 'celery', 'worker', '--beat', '--loglevel=INFO', '--pythonpath=.'
cmd(
'celery', 'worker', "--app=lms.envs.{}".format(worker_settings),
'--beat', '--loglevel=INFO', '--pythonpath=.'
)
])