Define test interval separately for each service

Signed-off-by: Romein van Buren <romein@vburen.nl>
This commit is contained in:
2022-07-11 12:52:42 +02:00
parent 14213d3ee2
commit 09a7df98e6
4 changed files with 26 additions and 18 deletions

View File

@ -78,7 +78,7 @@ async function processOutage({ outage, server, settings }) {
.insert({
id: makeId(6),
name: {
en: `[automatic] Outage for ${service.name}`,
en: `[automatic] Outage for ${service.name.en}`,
},
state: 'concept',
resolved: false,

View File

@ -11,10 +11,20 @@ process.on('message', async message => {
else {
const ids = [];
const promises = [];
for (const service of message.services) {
if (service.autotestEnabled) {
const lastChecked = new Date(service.lastChecked);
let timePassed = new Date().getTime() - lastChecked.getTime();
timePassed = timePassed / 1000 / 60;
const interval = service.autotestInterval;
const needsCheck = timePassed >= interval;
console.log(`service ${service.id}`, lastChecked, service.autotestEnabled, timePassed, interval, needsCheck);
if (service.autotestEnabled && needsCheck) {
ids.push(service.id);
promises.push(testEndpoints(service.autotest));
console.log(`testing ${service.id}`);
}
}