34 lines
963 B
JavaScript

function getCurrentTime(){
return Intl.DateTimeFormat('it-IT', {hour: '2-digit', minute: '2-digit', second: '2-digit'}).format(new Date());
}
function mt(m){
return `${getCurrentTime()} - [KeepAliveWorker]: ${m}`;
}
onmessage = function (ev) {
const { type, data } = ev.data;
if (type === 'START_KEEP_ALIVE') {
const { url, minutes } = data;
async function fetchKeepAlive() {
console.log(mt(`calling ${url}`));
fetch(url).then(
(response) => response.json().then(
(json) => postMessage({
type: 'KEEP_ALIVE_RESULT',
data: json
})
)
);
}
console.log(mt('starting keep alive'), data);
fetchKeepAlive();
setInterval(fetchKeepAlive, minutes * 60000);
} else {
postMessage({ type, data: 'OK' });
}
}