From 3e673f59b32226edea618990fe0c193c52f7ca8f Mon Sep 17 00:00:00 2001 From: David Ormsbee <dave@edx.org> Date: Wed, 28 Apr 2021 23:57:11 -0400 Subject: [PATCH] perf: Remove Modulestore call from Credit Service. We can get the same information much more cheaply and predictably by using CourseOverviews. This was contributing to slow traces for the edx_proctoring.views:StudentOnboardingStatusView.get transaction. --- openedx/core/djangoapps/credit/services.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/openedx/core/djangoapps/credit/services.py b/openedx/core/djangoapps/credit/services.py index 7884a8000a5..6966bbf691d 100644 --- a/openedx/core/djangoapps/credit/services.py +++ b/openedx/core/djangoapps/credit/services.py @@ -1,8 +1,6 @@ """ Implementation of "credit" XBlock service """ - - import logging from django.contrib.auth.models import User # lint-amnesty, pylint: disable=imported-auth-user @@ -10,7 +8,8 @@ from django.core.exceptions import ObjectDoesNotExist from opaque_keys.edx.keys import CourseKey from common.djangoapps.student.models import CourseEnrollment -from xmodule.modulestore.django import modulestore +from openedx.core.djangoapps.content.course_overviews.models import CourseOverview + log = logging.getLogger(__name__) @@ -101,10 +100,10 @@ class CreditService: } if return_course_info: - course = modulestore().get_course(course_key, depth=0) + course_overview = CourseOverview.get_from_id(course_key) result.update({ - 'course_name': course.display_name, - 'course_end_date': course.end, + 'course_name': course_overview.display_name, + 'course_end_date': course_overview.end_date, }) return result -- GitLab