1
+ import logging
2
+
1
3
try :
2
4
from _pylibmc import Error as CacheSetError
3
5
except ImportError :
10
12
11
13
from cache_helper import utils
12
14
15
+ logger = logging .getLogger (__name__ )
13
16
14
17
def cached (timeout ):
15
18
def _cached (func ):
@@ -23,6 +26,10 @@ def wrapper(*args, **kwargs):
23
26
try :
24
27
value = cache .get (cache_key )
25
28
except Exception :
29
+ logger .warning (
30
+ f'Error retrieving value from Cache for Key: { function_cache_key } ' ,
31
+ exc_info = True ,
32
+ )
26
33
value = None
27
34
28
35
if value is None :
@@ -34,7 +41,10 @@ def wrapper(*args, **kwargs):
34
41
cache .set (cache_key , value , timeout )
35
42
36
43
except CacheSetError :
37
- pass
44
+ logger .warning (
45
+ f'Error saving value to Cache for Key: { function_cache_key } ' ,
46
+ exc_info = True ,
47
+ )
38
48
39
49
return value
40
50
@@ -71,6 +81,10 @@ def wrapper(*args, **kwargs):
71
81
try :
72
82
value = cache .get (cache_key )
73
83
except Exception :
84
+ logger .warning (
85
+ f'Error retrieving value from Cache for Key: { function_cache_key } ' ,
86
+ exc_info = True ,
87
+ )
74
88
value = None
75
89
76
90
if value is None :
@@ -81,7 +95,10 @@ def wrapper(*args, **kwargs):
81
95
try :
82
96
cache .set (cache_key , value , timeout )
83
97
except CacheSetError :
84
- pass
98
+ logger .warning (
99
+ f'Error saving value to Cache for Key: { function_cache_key } ' ,
100
+ exc_info = True ,
101
+ )
85
102
86
103
return value
87
104
@@ -132,10 +149,14 @@ def __get__(self, obj, objtype):
132
149
return fn
133
150
134
151
def __call__ (self , * args , ** kwargs ):
135
- cache_key = self .create_cache_key (* args , ** kwargs )
152
+ cache_key , function_cache_key = self .create_cache_key (* args , ** kwargs )
136
153
try :
137
154
value = cache .get (cache_key )
138
155
except Exception :
156
+ logger .warning (
157
+ f'Error retrieving value from Cache for Key: { function_cache_key } ' ,
158
+ exc_info = True ,
159
+ )
139
160
value = None
140
161
if value is None :
141
162
value = self .func (* args , ** kwargs )
@@ -145,7 +166,10 @@ def __call__(self, *args, **kwargs):
145
166
try :
146
167
cache .set (cache_key , value , timeout )
147
168
except CacheSetError :
148
- pass
169
+ logger .warning (
170
+ f'Error saving value to Cache for Key: { function_cache_key } ' ,
171
+ exc_info = True ,
172
+ )
149
173
return value
150
174
151
175
def _invalidate (self , * args , ** kwargs ):
@@ -156,14 +180,14 @@ def _invalidate(self, *args, **kwargs):
156
180
:param kwargs: The kwargs passed into the original function.
157
181
:rtype: None
158
182
"""
159
- cache_key = self .create_cache_key (* args , ** kwargs )
183
+ cache_key , _ = self .create_cache_key (* args , ** kwargs )
160
184
cache .delete (cache_key )
161
185
162
186
def create_cache_key (self , * args , ** kwargs ):
163
187
# Need to include the first arg (self) in the cache key
164
188
func_name = utils .get_function_name (self .func )
165
189
function_cache_key = utils .get_function_cache_key (func_name , args , kwargs )
166
190
cache_key = utils .get_hashed_cache_key (function_cache_key )
167
- return cache_key
191
+ return cache_key , function_cache_key
168
192
169
193
return wrapper
0 commit comments