34 lines
963 B
JavaScript
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' });
|
|
}
|
|
} |