6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-11-06 05:17:54 +00:00

fix: lms-worker/cms-worker command update for Celery 5

Before edx-platform was upgraded to Celery 5, lms-worker and
cms-worker could be invoked using this syntax:

  celery worker --app=APP <args> --maxtasksperchild=N <args>

Since the recent Celery 5 upgrade (edx-platform commit 0588c92),
though, this fails with the messages:

  You are using `--app` as an option of the worker sub-command:
  celery worker --app celeryapp <...>
  The support for this usage was removed in Celery 5.0.
  Instead you should use `--app` as a global option:
  celery --app celeryapp worker <...>

and:

  Error: No such option: --maxtasksperchild
  (Possible options: --max-memory-per-child, --max-tasks-per-child)

So, this commit changes the lms-worker and cms-worker invocations to:

  celery --app=APP <args> --max-tasks-per-child=N <args>
This commit is contained in:
Kyle McCormick 2022-03-18 10:17:20 -04:00 committed by Régis Behmo
parent dbe3571ed4
commit 76ef7de74f
3 changed files with 5 additions and 4 deletions

View File

@ -2,6 +2,7 @@
Note: Breaking changes between versions are indicated by "💥". Note: Breaking changes between versions are indicated by "💥".
- [Bugfix] Update ``celery`` invocations for lms-worker and cms-worker to be compatible with Celery 5 CLI.
- [Improvement] Point CMS at its config file using ``CMS_CFG`` environment variable instead of deprecated ``STUDIO_CFG``. - [Improvement] Point CMS at its config file using ``CMS_CFG`` environment variable instead of deprecated ``STUDIO_CFG``.
- [Bugfix] Start MongoDB when running migrations, because a new data migration fails if MongoDB is not running - [Bugfix] Start MongoDB when running migrations, because a new data migration fails if MongoDB is not running
- [Feature] Better support of Caddy as a load balancer in Kubernetes: - [Feature] Better support of Caddy as a load balancer in Kubernetes:

View File

@ -113,7 +113,7 @@ spec:
containers: containers:
- name: cms-worker - name: cms-worker
image: {{ DOCKER_IMAGE_OPENEDX }} image: {{ DOCKER_IMAGE_OPENEDX }}
args: ["celery", "worker", "--app=cms.celery", "--loglevel=info", "--hostname=edx.cms.core.default.%%h", "--maxtasksperchild", "100", "--exclude-queues=edx.lms.core.default"] args: ["celery", "--app=cms.celery", "worker", "--loglevel=info", "--hostname=edx.cms.core.default.%%h", "--max-tasks-per-child", "100", "--exclude-queues=edx.lms.core.default"]
env: env:
- name: SERVICE_VARIANT - name: SERVICE_VARIANT
value: cms value: cms
@ -206,7 +206,7 @@ spec:
containers: containers:
- name: lms-worker - name: lms-worker
image: {{ DOCKER_IMAGE_OPENEDX }} image: {{ DOCKER_IMAGE_OPENEDX }}
args: ["celery", "worker", "--app=lms.celery", "--loglevel=info", "--hostname=edx.lms.core.default.%%h", "--maxtasksperchild=100", "--exclude-queues=edx.cms.core.default"] args: ["celery", "--app=lms.celery", "worker", "--loglevel=info", "--hostname=edx.lms.core.default.%%h", "--max-tasks-per-child=100", "--exclude-queues=edx.cms.core.default"]
env: env:
- name: SERVICE_VARIANT - name: SERVICE_VARIANT
value: lms value: lms

View File

@ -170,7 +170,7 @@ services:
environment: environment:
SERVICE_VARIANT: lms SERVICE_VARIANT: lms
SETTINGS: ${TUTOR_EDX_PLATFORM_SETTINGS:-tutor.production} SETTINGS: ${TUTOR_EDX_PLATFORM_SETTINGS:-tutor.production}
command: celery worker --app=lms.celery --loglevel=info --hostname=edx.lms.core.default.%%h --maxtasksperchild=100 --exclude-queues=edx.cms.core.default command: celery --app=lms.celery worker --loglevel=info --hostname=edx.lms.core.default.%%h --max-tasks-per-child=100 --exclude-queues=edx.cms.core.default
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro - ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro
@ -188,7 +188,7 @@ services:
environment: environment:
SERVICE_VARIANT: cms SERVICE_VARIANT: cms
SETTINGS: ${TUTOR_EDX_PLATFORM_SETTINGS:-tutor.production} SETTINGS: ${TUTOR_EDX_PLATFORM_SETTINGS:-tutor.production}
command: celery worker --app=cms.celery --loglevel=info --hostname=edx.cms.core.default.%%h --maxtasksperchild 100 --exclude-queues=edx.lms.core.default command: celery --app=cms.celery worker --loglevel=info --hostname=edx.cms.core.default.%%h --max-tasks-per-child 100 --exclude-queues=edx.lms.core.default
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro - ../apps/openedx/settings/lms:/openedx/edx-platform/lms/envs/tutor:ro