Enforce a Celery singleton across cms and lms by using shared module (#25840)
This should prevent the issues we've seen recently where cms modules are imported by the running lms process, resulting in two celery instances being created and tasks intermittently being registered to the wrong instance (and therefore effectively lost.) In commit ab6bf348/PR #25822 we tried to ensure that only one or the other of the instances was created by adding a startup check. Unfortunately, there's an external shared library that refers directly to the lms celery, causing a startup failure in cms, so we had to revert it. Rather than waiting to fix that library, this commit collapses the two instances together so that there is only ever one.
Showing
- cms/__init__.py 3 additions, 2 deletionscms/__init__.py
- cms/celery.py 3 additions, 11 deletionscms/celery.py
- lms/__init__.py 3 additions, 2 deletionslms/__init__.py
- lms/celery.py 3 additions, 11 deletionslms/celery.py
- openedx/core/lib/celery/__init__.py 30 additions, 0 deletionsopenedx/core/lib/celery/__init__.py
Please register or sign in to comment