blob: 0a213aa1cf84fbc4e6bbb48a6c4b39d70b987fd6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
export namespace ClientDiagnostics {
export async function start() {
let serverPolls = 0;
const serverHandle = setInterval(async () => {
if (++serverPolls === 20) {
alert("Your connection to the server has been terminated.");
clearInterval(serverHandle);
}
await fetch("/serverHeartbeat");
serverPolls--;
}, 1000 * 15);
let executed = false;
let solrHandle: NodeJS.Timeout | undefined;
const handler = async () => {
const response = await fetch("/solrHeartbeat");
if (!(await response.json()).running) {
if (!executed) {
alert("Looks like SOLR is not running on your machine.");
executed = true;
solrHandle && clearInterval(solrHandle);
}
}
};
await handler();
if (!executed) {
solrHandle = setInterval(handler, 1000 * 15);
}
}
}
|