@@ -34,7 +34,6 @@ class RefreshManager:
34
34
35
35
_instance = None
36
36
37
- FAILURES_AUTO_REFRESH_S = 60 * 60 * 4
38
37
AUTO_REFRESH_S = 60 * 60 * 24 * 30
39
38
40
39
# pylint: disable=duplicate-code
@@ -64,7 +63,8 @@ def set_policy_by_name(self, policy_name: str):
64
63
65
64
def get_refresh_max_age (self ,
66
65
refresh_override : Optional [RefreshPolicy ] = None ,
67
- failures : bool = False
66
+ failures : bool = False ,
67
+ auto : int = AUTO_REFRESH_S
68
68
) -> int :
69
69
"""Get the maximum age before refresh for a given policy."""
70
70
policy = refresh_override if refresh_override else self .refresh_policy
@@ -76,9 +76,7 @@ def get_refresh_max_age(self,
76
76
if policy == RefreshPolicy .NO :
77
77
return - 1
78
78
79
- if failures :
80
- return self .FAILURES_AUTO_REFRESH_S
81
- return self .AUTO_REFRESH_S
79
+ return auto
82
80
83
81
84
82
class TriageStatus (enum .IntEnum ):
@@ -167,17 +165,26 @@ def invalidate_stepfailures_cache():
167
165
Session ().invalidate_cache (f"{ REST_BASE_URL } /stepfailure/" , allparams = True )
168
166
169
167
168
+ FAILURES_AUTO_REFRESH_S = 60 * 60 * 4
169
+ PENDING_FAILURES_AUTO_REFRESH_S = 60 * 10
170
+
171
+
170
172
def get_stepfailures (status : Optional [TriageStatus ] = None ,
171
173
refresh_override : Optional [RefreshPolicy ] = None ):
172
174
"""Get info on all failures."""
173
- maxage = RefreshManager ().get_refresh_max_age (refresh_override ,
174
- failures = True )
175
+ auto_refresh_s = FAILURES_AUTO_REFRESH_S
175
176
params : dict [str , Any ] = {}
176
177
if status is not None :
177
178
params ['triage' ] = status .value
179
+ if status .value == TriageStatus .PENDING :
180
+ auto_refresh_s = PENDING_FAILURES_AUTO_REFRESH_S
178
181
179
182
request = f"/stepfailure/?{ urllib .parse .urlencode (params )} "
183
+ maxage = RefreshManager ().get_refresh_max_age (refresh_override ,
184
+ failures = True ,
185
+ auto = auto_refresh_s )
180
186
187
+ print (f"max age: { maxage } " )
181
188
return _get_json (request , maxage )['data' ]
182
189
183
190
0 commit comments