diff --git a/lms/djangoapps/edxnotes/helpers.py b/lms/djangoapps/edxnotes/helpers.py index a4ad3dd09e..2235836f83 100644 --- a/lms/djangoapps/edxnotes/helpers.py +++ b/lms/djangoapps/edxnotes/helpers.py @@ -99,7 +99,8 @@ def send_request(user, course_id, page, page_size, path="", text=None): headers={ "x-annotator-auth-token": get_edxnotes_id_token(user) }, - params=params + params=params, + timeout=(settings.EDXNOTES_CONNECT_TIMEOUT, settings.EDXNOTES_READ_TIMEOUT) ) except RequestException: log.error("Failed to connect to edx-notes-api: url=%s, params=%s", url, str(params)) diff --git a/lms/djangoapps/edxnotes/tests.py b/lms/djangoapps/edxnotes/tests.py index cef50f5b1b..1add802a08 100644 --- a/lms/djangoapps/edxnotes/tests.py +++ b/lms/djangoapps/edxnotes/tests.py @@ -782,7 +782,8 @@ class EdxNotesHelpersTest(ModuleStoreTestCase): "highlight": True, 'page': 1, 'page_size': 25, - } + }, + timeout=(settings.EDXNOTES_CONNECT_TIMEOUT, settings.EDXNOTES_READ_TIMEOUT) ) @override_settings(EDXNOTES_PUBLIC_API="http://example.com") @@ -809,7 +810,8 @@ class EdxNotesHelpersTest(ModuleStoreTestCase): "course_id": unicode(self.course.id), 'page': helpers.DEFAULT_PAGE, 'page_size': helpers.DEFAULT_PAGE_SIZE, - } + }, + timeout=(settings.EDXNOTES_CONNECT_TIMEOUT, settings.EDXNOTES_READ_TIMEOUT) ) def test_get_course_position_no_chapter(self): diff --git a/lms/envs/aws.py b/lms/envs/aws.py index e9b9e1f019..f3fa7a5d3d 100644 --- a/lms/envs/aws.py +++ b/lms/envs/aws.py @@ -730,6 +730,9 @@ PROFILE_IMAGE_DEFAULT_FILENAME = 'images/profiles/default' EDXNOTES_PUBLIC_API = ENV_TOKENS.get('EDXNOTES_PUBLIC_API', EDXNOTES_PUBLIC_API) EDXNOTES_INTERNAL_API = ENV_TOKENS.get('EDXNOTES_INTERNAL_API', EDXNOTES_INTERNAL_API) +EDXNOTES_CONNECT_TIMEOUT = ENV_TOKENS.get('EDXNOTES_CONNECT_TIMEOUT', EDXNOTES_CONNECT_TIMEOUT) +EDXNOTES_READ_TIMEOUT = ENV_TOKENS.get('EDXNOTES_READ_TIMEOUT', EDXNOTES_READ_TIMEOUT) + ##### Credit Provider Integration ##### CREDIT_PROVIDER_SECRET_KEYS = AUTH_TOKENS.get("CREDIT_PROVIDER_SECRET_KEYS", {}) diff --git a/lms/envs/common.py b/lms/envs/common.py index c622daa337..80a54a01a6 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -1024,6 +1024,9 @@ PAYMENT_REPORT_GENERATOR_GROUP = 'shoppingcart_report_access' EDXNOTES_PUBLIC_API = 'http://localhost:8120/api/v1' EDXNOTES_INTERNAL_API = 'http://localhost:8120/api/v1' +EDXNOTES_CONNECT_TIMEOUT = 0.5 # time in seconds +EDXNOTES_READ_TIMEOUT = 1.5 # time in seconds + ########################## Parental controls config ####################### # The age at which a learner no longer requires parental consent, or None