diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/session_manager/config.ts | 5 | ||||
-rw-r--r-- | src/server/session_manager/session_manager.ts | 22 |
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 |