On running the management command, we get the folowing error:
kombu.exceptions.EncodeError: Object of type User is not JSON serializable
Pass a string of the username instead in the parameters of the tasks
created by the expire_and_create_entitlements management command.
* fix: EntitlementSupportDetail.action is EXPIRE, not EXPIRED
* fix: pass list of entitlement ids, not QuerySet subset for Celery json parser
On running the management command, we get the folowing error:
kombu.exceptions.EncodeError: Object of type CourseEntitlement is not JSON serializable
Pass a list of ints instead of a QuerySet object in the parameters of
the tasks created by the expire_and_create_entitlements management
command.
Not much of an optimization, but might shave a couple seconds if the
number of entitlements on production are large.
Django will use the _result_cache if the QuerySet has already been
retrieved:
107865780a/django/db/models/query.py (L597-L598)
django-not-configured is an error raised by pylint (with
the pylint-django plugin) when it's not correctly configured.
We should not be applying lint amnesty for such a violation.
* Generate common/djangoapps import shims for LMS
* Generate common/djangoapps import shims for Studio
* Stop appending project root to sys.path
* Stop appending common/djangoapps to sys.path
* Import from common.djangoapps.course_action_state instead of course_action_state
* Import from common.djangoapps.course_modes instead of course_modes
* Import from common.djangoapps.database_fixups instead of database_fixups
* Import from common.djangoapps.edxmako instead of edxmako
* Import from common.djangoapps.entitlements instead of entitlements
* Import from common.djangoapps.pipline_mako instead of pipeline_mako
* Import from common.djangoapps.static_replace instead of static_replace
* Import from common.djangoapps.student instead of student
* Import from common.djangoapps.terrain instead of terrain
* Import from common.djangoapps.third_party_auth instead of third_party_auth
* Import from common.djangoapps.track instead of track
* Import from common.djangoapps.util instead of util
* Import from common.djangoapps.xblock_django instead of xblock_django
* Add empty common/djangoapps/__init__.py to fix pytest collection
* Fix pylint formatting violations
* Exclude import_shims/ directory tree from linting
* INCR-129: Run python-modernize on common/djangoapps/entitlements/management
* isort
* INCR-129: Run python-modernize on common/djangoapps/entitlements/tests
* isort
The expire_old_entitlements management command was passing a
Paginator object to celery, which it can't serialize when it is
running async. Instead, we'll do the pagination manually inside the
task code and simply pass it integers.
This new management command will search for possible entitlements
that are languishing in the database and expire them if they can
be according to our policy.
This is meant to be run on a regular basis to clear out old
entitlements.
LEARNER-3087