aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/session_manager/config.ts5
-rw-r--r--src/server/session_manager/session_manager.ts22
2 files changed, 9 insertions, 18 deletions
diff --git a/src/server/session_manager/config.ts b/src/server/session_manager/config.ts
index a373b986e..bb84a166d 100644
--- a/src/server/session_manager/config.ts
+++ b/src/server/session_manager/config.ts
@@ -4,8 +4,7 @@ import { yellow } from "colors";
export const latency = 10;
export const ports = [1050, 4321];
export const onWindows = process.platform === "win32";
-export const LOCATION = "http://localhost";
-export const heartbeat = `${LOCATION}:1050/serverHeartbeat`;
+export const heartbeat = `http://localhost:1050/serverHeartbeat`;
export const recipient = "samuel_wilkins@brown.edu";
export const { pid, platform } = process;
@@ -27,7 +26,7 @@ export enum SessionState {
STARTING = "STARTING",
INITIALIZED = "INITIALIZED",
LISTENING = "LISTENING",
- CRASH_RESTARTING = "CRASH_RESTARTING",
+ AUTOMATICALLY_RESTARTING = "CRASH_RESTARTING",
MANUALLY_RESTARTING = "MANUALLY_RESTARTING",
EXITING = "EXITING"
} \ No newline at end of file
diff --git a/src/server/session_manager/session_manager.ts b/src/server/session_manager/session_manager.ts
index 51aba26a0..97b71403b 100644
--- a/src/server/session_manager/session_manager.ts
+++ b/src/server/session_manager/session_manager.ts
@@ -7,7 +7,7 @@ import { writeFileSync, existsSync, mkdirSync } from "fs";
import { resolve } from 'path';
import { ChildProcess, exec, execSync } from "child_process";
import InputManager from "./input_manager";
-import { identifier, logPath, crashPath, onWindows, pid, ports, heartbeat, recipient, LOCATION, latency, SessionState } from "./config";
+import { identifier, logPath, crashPath, onWindows, pid, ports, heartbeat, recipient, latency, SessionState } from "./config";
const killport = require("kill-port");
process.on('SIGINT', endPrevious);
@@ -111,13 +111,13 @@ async function checkHeartbeat() {
listening && console.log("⇠ 💔");
error = e;
} finally {
- if (error && !is(SessionState.CRASH_RESTARTING, SessionState.INITIALIZED)) {
+ if (error && !is(SessionState.AUTOMATICALLY_RESTARTING, SessionState.INITIALIZED)) {
if (is(SessionState.STARTING)) {
set(SessionState.INITIALIZED);
} else if (is(SessionState.MANUALLY_RESTARTING)) {
- set(SessionState.CRASH_RESTARTING);
+ set(SessionState.AUTOMATICALLY_RESTARTING);
} else {
- set(SessionState.CRASH_RESTARTING);
+ set(SessionState.AUTOMATICALLY_RESTARTING);
console.log();
addLogEntry("Detected a server crash", red);
identifiedLog(red(error.message));
@@ -140,20 +140,11 @@ async function checkHeartbeat() {
}
}
-async function startListening() {
- identifiedLog(yellow(`After initialization, will poll server heartbeat repeatedly...\n`));
- if (!LOCATION) {
- identifiedLog(red("No location specified for session manager. Please include as a command line environment variable or in a .env file."));
- process.exit(0);
- }
- await checkHeartbeat();
-}
-
function emailText(error: any) {
return [
`Hey ${recipient.split("@")[0]},`,
"You, as a Dash Administrator, are being notified of a server crash event. Here's what we know:",
- `Location: ${LOCATION}\nError: ${error}`,
+ `Location: ${heartbeat}\nError: ${error}`,
"The server should already be restarting itself, but if you're concerned, use the Remote Desktop Connection to monitor progress."
].join("\n\n");
}
@@ -177,4 +168,5 @@ async function notify(error: any) {
});
}
-startListening(); \ No newline at end of file
+identifiedLog(yellow(`After initialization, will poll server heartbeat repeatedly...\n`));
+checkHeartbeat(); \ No newline at end of file