diff --git a/lms/envs/aws.py b/lms/envs/aws.py index d16dcd6b4a..5e9327376d 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -762,3 +762,7 @@ MAX_BOOKMARKS_PER_COURSE = ENV_TOKENS.get('MAX_BOOKMARKS_PER_COURSE', MAX_BOOKMA # Cutoff date for granting audit certificates if ENV_TOKENS.get('AUDIT_CERT_CUTOFF_DATE', None): AUDIT_CERT_CUTOFF_DATE = dateutil.parser.parse(ENV_TOKENS.get('AUDIT_CERT_CUTOFF_DATE')) + +################################ Settings for Credentials Service ################################ + +CREDENTIALS_GENERATION_ROUTING_KEY = HIGH_PRIORITY_QUEUE diff --git a/lms/envs/common.py b/lms/envs/common.py index 77cc19ea38..72c63f3cf0 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -2768,3 +2768,4 @@ AUDIT_CERT_CUTOFF_DATE = None ################################ Settings for Credentials Service ################################ CREDENTIALS_SERVICE_USERNAME = 'credentials_service_user' +CREDENTIALS_GENERATION_ROUTING_KEY = HIGH_PRIORITY_QUEUE diff --git a/lms/envs/yaml_config.py b/lms/envs/yaml_config.py index 5b8fbdfdcd..c798c3d744 100644 --- a/lms/envs/yaml_config.py +++ b/lms/envs/yaml_config.py @@ -313,3 +313,7 @@ if FEATURES.get('INDIVIDUAL_DUE_DATES'): if FEATURES.get('ENABLE_LTI_PROVIDER'): INSTALLED_APPS += ('lti_provider',) AUTHENTICATION_BACKENDS += ('lti_provider.users.LtiBackend', ) + +################################ Settings for Credentials Service ################################ + +CREDENTIALS_GENERATION_ROUTING_KEY = HIGH_PRIORITY_QUEUE diff --git a/openedx/core/djangoapps/programs/tasks/v1/tasks.py b/openedx/core/djangoapps/programs/tasks/v1/tasks.py index a7781bf79b..288b6cfb1d 100644 --- a/openedx/core/djangoapps/programs/tasks/v1/tasks.py +++ b/openedx/core/djangoapps/programs/tasks/v1/tasks.py @@ -17,6 +17,8 @@ from openedx.core.lib.token_utils import get_id_token LOGGER = get_task_logger(__name__) +# Under cms the following setting is not defined, leading to errors during tests. +ROUTING_KEY = getattr(settings, 'CREDENTIALS_GENERATION_ROUTING_KEY', None) def get_api_client(api_config, student): @@ -115,7 +117,7 @@ def award_program_certificate(client, username, program_id): }) -@task(bind=True, ignore_result=True) +@task(bind=True, ignore_result=True, routing_key=ROUTING_KEY) def award_program_certificates(self, username): """ This task is designed to be called whenever a student's completion status