Skip to content

Commit c289533

Browse files
committed
swatbotrest: Reduce cache time for pending failures
Signed-off-by: Mathieu Dubois-Briand <[email protected]>
1 parent 394d4d9 commit c289533

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

swattool/swatbotrest.py

+14-7
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ class RefreshManager:
3434

3535
_instance = None
3636

37-
FAILURES_AUTO_REFRESH_S = 60 * 60 * 4
3837
AUTO_REFRESH_S = 60 * 60 * 24 * 30
3938

4039
# pylint: disable=duplicate-code
@@ -64,7 +63,8 @@ def set_policy_by_name(self, policy_name: str):
6463

6564
def get_refresh_max_age(self,
6665
refresh_override: Optional[RefreshPolicy] = None,
67-
failures: bool = False
66+
failures: bool = False,
67+
auto: int = AUTO_REFRESH_S
6868
) -> int:
6969
"""Get the maximum age before refresh for a given policy."""
7070
policy = refresh_override if refresh_override else self.refresh_policy
@@ -76,9 +76,7 @@ def get_refresh_max_age(self,
7676
if policy == RefreshPolicy.NO:
7777
return -1
7878

79-
if failures:
80-
return self.FAILURES_AUTO_REFRESH_S
81-
return self.AUTO_REFRESH_S
79+
return auto
8280

8381

8482
class TriageStatus(enum.IntEnum):
@@ -167,17 +165,26 @@ def invalidate_stepfailures_cache():
167165
Session().invalidate_cache(f"{REST_BASE_URL}/stepfailure/", allparams=True)
168166

169167

168+
FAILURES_AUTO_REFRESH_S = 60 * 60 * 4
169+
PENDING_FAILURES_AUTO_REFRESH_S = 60 * 10
170+
171+
170172
def get_stepfailures(status: Optional[TriageStatus] = None,
171173
refresh_override: Optional[RefreshPolicy] = None):
172174
"""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
175176
params: dict[str, Any] = {}
176177
if status is not None:
177178
params['triage'] = status.value
179+
if status.value == TriageStatus.PENDING:
180+
auto_refresh_s = PENDING_FAILURES_AUTO_REFRESH_S
178181

179182
request = f"/stepfailure/?{urllib.parse.urlencode(params)}"
183+
maxage = RefreshManager().get_refresh_max_age(refresh_override,
184+
failures=True,
185+
auto=auto_refresh_s)
180186

187+
print(f"max age: {maxage}")
181188
return _get_json(request, maxage)['data']
182189

183190

0 commit comments

Comments
 (0)