aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/ClientDiagnostics.ts
blob: 7eef935fd8614ba5acccf713a0a362e83046cd6f (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
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;
        const handle = async () => {
            const response = await fetch("/solrHeartbeat");
            if (!(await response.json()).running) {
                !executed && alert("Looks like SOLR is not running on your machine.");
                executed = true;
                clearInterval(solrHandle);
            }
        };
        await handle();
        const solrHandle = setInterval(handle, 1000 * 15);

    }

}