diff --git a/cms/envs/common.py b/cms/envs/common.py index ad01bfe806..7e264b6ca9 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -2286,6 +2286,9 @@ RECALCULATE_GRADES_ROUTING_KEY = DEFAULT_PRIORITY_QUEUE # Queue to use for updating grades due to grading policy change POLICY_CHANGE_GRADES_ROUTING_KEY = 'edx.lms.core.default' +# Queue to use for individual learner course regrades +SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY = 'edx.lms.core.default' + SOFTWARE_SECURE_VERIFICATION_ROUTING_KEY = 'edx.lms.core.default' # Rate limit for regrading tasks that a grading policy change can kick off diff --git a/cms/envs/devstack-experimental.yml b/cms/envs/devstack-experimental.yml index d29c69e00d..f4dc312031 100644 --- a/cms/envs/devstack-experimental.yml +++ b/cms/envs/devstack-experimental.yml @@ -413,6 +413,7 @@ PLATFORM_FACEBOOK_ACCOUNT: http://www.facebook.com/YourPlatformFacebookAccount PLATFORM_NAME: Your Platform Name Here PLATFORM_TWITTER_ACCOUNT: '@YourPlatformTwitterAccount' POLICY_CHANGE_GRADES_ROUTING_KEY: edx.lms.core.default +SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY: edx.lms.core.default PREPEND_LOCALE_PATHS: [] PRESS_EMAIL: press@example.com PROCTORING_BACKENDS: diff --git a/cms/envs/production.py b/cms/envs/production.py index 72a130264a..17947f353f 100644 --- a/cms/envs/production.py +++ b/cms/envs/production.py @@ -452,6 +452,12 @@ CELERY_QUEUES.update( # Queue to use for updating grades due to grading policy change POLICY_CHANGE_GRADES_ROUTING_KEY = ENV_TOKENS.get('POLICY_CHANGE_GRADES_ROUTING_KEY', DEFAULT_PRIORITY_QUEUE) +# Queue to use for individual learner course regrades +SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY = ENV_TOKENS.get( + 'SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY', + DEFAULT_PRIORITY_QUEUE +) + SOFTWARE_SECURE_VERIFICATION_ROUTING_KEY = ENV_TOKENS.get( 'SOFTWARE_SECURE_VERIFICATION_ROUTING_KEY', HIGH_PRIORITY_QUEUE @@ -601,6 +607,8 @@ ALTERNATE_ENV_TASKS = { EXPLICIT_QUEUES = { 'lms.djangoapps.grades.tasks.compute_all_grades_for_course': { 'queue': POLICY_CHANGE_GRADES_ROUTING_KEY}, + 'lms.djangoapps.grades.tasks.recalculate_course_and_subsection_grades_for_user': { + 'queue': SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY}, 'cms.djangoapps.contentstore.tasks.update_search_index': { 'queue': UPDATE_SEARCH_INDEX_JOB_QUEUE}, 'cms.djangoapps.coursegraph.tasks.dump_course_to_neo4j': { diff --git a/lms/djangoapps/grades/settings/common.py b/lms/djangoapps/grades/settings/common.py index 1832e79834..f2281a797f 100644 --- a/lms/djangoapps/grades/settings/common.py +++ b/lms/djangoapps/grades/settings/common.py @@ -5,3 +5,6 @@ def plugin_settings(settings): # Queue to use for updating grades due to grading policy change settings.POLICY_CHANGE_GRADES_ROUTING_KEY = settings.DEFAULT_PRIORITY_QUEUE + + # Queue to use for individual learner course regrades + settings.SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY = settings.DEFAULT_PRIORITY_QUEUE diff --git a/lms/djangoapps/grades/settings/production.py b/lms/djangoapps/grades/settings/production.py index 744e0ba952..c066a04c6a 100644 --- a/lms/djangoapps/grades/settings/production.py +++ b/lms/djangoapps/grades/settings/production.py @@ -12,3 +12,8 @@ def plugin_settings(settings): settings.POLICY_CHANGE_GRADES_ROUTING_KEY = settings.ENV_TOKENS.get( 'POLICY_CHANGE_GRADES_ROUTING_KEY', settings.DEFAULT_PRIORITY_QUEUE, ) + + # Queue to use for individual learner course regrades + settings.SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY = settings.ENV_TOKENS.get( + 'SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY', settings.DEFAULT_PRIORITY_QUEUE, + ) diff --git a/lms/envs/common.py b/lms/envs/common.py index 88f9b876e6..9e03bbecfb 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -3634,6 +3634,8 @@ GRADES_DOWNLOAD_ROUTING_KEY = HIGH_MEM_QUEUE POLICY_CHANGE_GRADES_ROUTING_KEY = 'edx.lms.core.default' +SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY = 'edx.lms.core.default' + RECALCULATE_GRADES_ROUTING_KEY = 'edx.lms.core.default' SOFTWARE_SECURE_VERIFICATION_ROUTING_KEY = 'edx.lms.core.default' diff --git a/lms/envs/devstack-experimental.yml b/lms/envs/devstack-experimental.yml index d4975b9b99..bb9ff9cdbf 100644 --- a/lms/envs/devstack-experimental.yml +++ b/lms/envs/devstack-experimental.yml @@ -482,6 +482,7 @@ PLATFORM_FACEBOOK_ACCOUNT: http://www.facebook.com/YourPlatformFacebookAccount PLATFORM_NAME: Your Platform Name Here PLATFORM_TWITTER_ACCOUNT: '@YourPlatformTwitterAccount' POLICY_CHANGE_GRADES_ROUTING_KEY: edx.lms.core.default +SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY: edx.lms.core.default PREPEND_LOCALE_PATHS: [] PRESS_EMAIL: press@example.com PROCTORING_BACKENDS: diff --git a/lms/envs/production.py b/lms/envs/production.py index fabcc024ef..7e91e535e5 100644 --- a/lms/envs/production.py +++ b/lms/envs/production.py @@ -1034,7 +1034,7 @@ EXPLICIT_QUEUES = { 'lms.djangoapps.grades.tasks.recalculate_course_and_subsection_grades_for_user': { 'queue': POLICY_CHANGE_GRADES_ROUTING_KEY}, 'lms.djangoapps.grades.tasks.recalculate_subsection_grade_v3': { - 'queue': RECALCULATE_GRADES_ROUTING_KEY}, + 'queue': SINGLE_LEARNER_COURSE_REGRADE_ROUTING_KEY}, 'openedx.core.djangoapps.programs.tasks.award_program_certificates': { 'queue': PROGRAM_CERTIFICATES_ROUTING_KEY}, 'openedx.core.djangoapps.programs.tasks.revoke_program_certificates': {