diff options
author | Sam Wilkins <35748010+samwilkins333@users.noreply.github.com> | 2019-12-02 12:21:09 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-02 12:21:09 -0500 |
commit | 0595f93dde717b7b6990e9a81c5b43a73a3808d5 (patch) | |
tree | af03ac257a5584f9913f120c44d4d39bb13916f2 /src/client/util/ClientDiagnostics.ts | |
parent | 68f49ef5daf3bf5c47d1d21c8f1cd2097947d071 (diff) | |
parent | ae76fd39a6530ac055948bb7b98537d38b592ef6 (diff) |
Merge pull request #316 from browngraphicslab/server_refactor
Server refactor
Diffstat (limited to 'src/client/util/ClientDiagnostics.ts')
-rw-r--r-- | src/client/util/ClientDiagnostics.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/client/util/ClientDiagnostics.ts b/src/client/util/ClientDiagnostics.ts new file mode 100644 index 000000000..0a213aa1c --- /dev/null +++ b/src/client/util/ClientDiagnostics.ts @@ -0,0 +1,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); + } + + } + +}
\ No newline at end of file |