diff --git a/openedx/core/lib/edx_api_utils.py b/openedx/core/lib/edx_api_utils.py index 172cf8e6d2..444416d2de 100644 --- a/openedx/core/lib/edx_api_utils.py +++ b/openedx/core/lib/edx_api_utils.py @@ -8,6 +8,7 @@ from django.core.exceptions import ImproperlyConfigured from edx_rest_api_client.client import EdxRestApiClient from provider.oauth2.models import Client +from openedx.core.lib.cache_utils import zpickle, zunpickle from openedx.core.lib.token_utils import JwtBuilder @@ -47,10 +48,11 @@ def get_edx_api_data(api_config, user, resource, api=None, resource_id=None, if cache_key: cache_key = '{}.{}'.format(cache_key, resource_id) if resource_id is not None else cache_key + cache_key += '.zpickled' cached = cache.get(cache_key) if cached: - return cached + return zunpickle(cached) try: if not api: @@ -89,7 +91,8 @@ def get_edx_api_data(api_config, user, resource, api=None, resource_id=None, return no_data if cache_key: - cache.set(cache_key, results, api_config.cache_ttl) + zdata = zpickle(results) + cache.set(cache_key, zdata, api_config.cache_ttl) return results