mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-18 22:05:13 +03:00
Allowed using cached CI info after timeout when GET fails
This commit is contained in:
parent
402863837c
commit
b3ca039b9a
1 changed files with 20 additions and 14 deletions
|
@ -26,6 +26,14 @@ JenkinsLoader.prototype.loadJobs = function (viewName, callback) {
|
||||||
var cachedJobsData = result[jobsDataTag];
|
var cachedJobsData = result[jobsDataTag];
|
||||||
var cachedJobsLastUpdate = result[cacheLastUpdateTag];
|
var cachedJobsLastUpdate = result[cacheLastUpdateTag];
|
||||||
|
|
||||||
|
var cachedCallback = () => {
|
||||||
|
if (cachedJobsData) {
|
||||||
|
GUI.log(i18n.getMessage('buildServerUsingCached', ['jobs']));
|
||||||
|
}
|
||||||
|
|
||||||
|
wrappedCallback(cachedJobsData ? cachedJobsData : []);
|
||||||
|
};
|
||||||
|
|
||||||
if (!cachedJobsData || !cachedJobsLastUpdate || jobsDataTimestamp - cachedJobsLastUpdate > self._cacheExpirationPeriod) {
|
if (!cachedJobsData || !cachedJobsLastUpdate || jobsDataTimestamp - cachedJobsLastUpdate > self._cacheExpirationPeriod) {
|
||||||
var url = `${viewUrl}${self._jobsRequest}`;
|
var url = `${viewUrl}${self._jobsRequest}`;
|
||||||
|
|
||||||
|
@ -46,13 +54,9 @@ JenkinsLoader.prototype.loadJobs = function (viewName, callback) {
|
||||||
wrappedCallback(jobs);
|
wrappedCallback(jobs);
|
||||||
}).error(xhr => {
|
}).error(xhr => {
|
||||||
GUI.log(i18n.getMessage('buildServerLoadFailed', ['jobs', `HTTP ${xhr.status}`]));
|
GUI.log(i18n.getMessage('buildServerLoadFailed', ['jobs', `HTTP ${xhr.status}`]));
|
||||||
}).fail(() => wrappedCallback([]));
|
}).fail(cachedCallback);
|
||||||
} else {
|
} else {
|
||||||
if (cachedJobsData) {
|
cachedCallback();
|
||||||
GUI.log(i18n.getMessage('buildServerUsingCached', ['jobs']));
|
|
||||||
}
|
|
||||||
|
|
||||||
wrappedCallback(cachedJobsData);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -69,6 +73,14 @@ JenkinsLoader.prototype.loadBuilds = function (jobName, callback) {
|
||||||
var cachedBuildsData = result[buildsDataTag];
|
var cachedBuildsData = result[buildsDataTag];
|
||||||
var cachedBuildsLastUpdate = result[cacheLastUpdateTag];
|
var cachedBuildsLastUpdate = result[cacheLastUpdateTag];
|
||||||
|
|
||||||
|
var cachedCallback = () => {
|
||||||
|
if (cachedBuildsData) {
|
||||||
|
GUI.log(i18n.getMessage('buildServerUsingCached', [jobName]));
|
||||||
|
}
|
||||||
|
|
||||||
|
self._parseBuilds(jobUrl, jobName, cachedBuildsData ? cachedBuildsData : [], callback);
|
||||||
|
};
|
||||||
|
|
||||||
if (!cachedBuildsData || !cachedBuildsLastUpdate || buildsDataTimestamp - cachedBuildsLastUpdate > self._cacheExpirationPeriod) {
|
if (!cachedBuildsData || !cachedBuildsLastUpdate || buildsDataTimestamp - cachedBuildsLastUpdate > self._cacheExpirationPeriod) {
|
||||||
var url = `${jobUrl}${self._buildsRequest}`;
|
var url = `${jobUrl}${self._buildsRequest}`;
|
||||||
|
|
||||||
|
@ -93,15 +105,9 @@ JenkinsLoader.prototype.loadBuilds = function (jobName, callback) {
|
||||||
self._parseBuilds(jobUrl, jobName, builds, callback);
|
self._parseBuilds(jobUrl, jobName, builds, callback);
|
||||||
}).error(xhr => {
|
}).error(xhr => {
|
||||||
GUI.log(i18n.getMessage('buildServerLoadFailed', [jobName, `HTTP ${xhr.status}`]));
|
GUI.log(i18n.getMessage('buildServerLoadFailed', [jobName, `HTTP ${xhr.status}`]));
|
||||||
}).fail(() => {
|
}).fail(cachedCallback);
|
||||||
self._parseBuilds(jobUrl, jobName, [], callback);
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
if (cachedBuildsData) {
|
cachedCallback();
|
||||||
GUI.log(i18n.getMessage('buildServerUsingCached', [jobName]));
|
|
||||||
}
|
|
||||||
|
|
||||||
self._parseBuilds(jobUrl, jobName, cachedBuildsData, callback);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue