diff options
Diffstat (limited to 'src/server/session_manager/session_manager.ts')
-rw-r--r-- | src/server/session_manager/session_manager.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/session_manager/session_manager.ts b/src/server/session_manager/session_manager.ts index 9fe4b1ab8..b620c8502 100644 --- a/src/server/session_manager/session_manager.ts +++ b/src/server/session_manager/session_manager.ts @@ -31,6 +31,16 @@ registerCommand("exit", [], async () => { execSync(killAllCommand()); }); +registerCommand("update", [], async () => { + set(SessionState.UPDATING); + await new Promise<void>(resolve => { + exec("git pull && npm install", () => { + resolve(); + }); + }); + set(SessionState.MANUALLY_RESTARTING); +}); + registerCommand("state", [], () => identifiedLog(state)); if (!existsSync(logPath)) { @@ -110,7 +120,7 @@ async function checkHeartbeat() { listening && console.log("⇠ 💔"); error = e; } finally { - if (error && !is(SessionState.AUTOMATICALLY_RESTARTING, SessionState.INITIALIZED)) { + if (error && !is(SessionState.AUTOMATICALLY_RESTARTING, SessionState.INITIALIZED, SessionState.UPDATING)) { if (is(SessionState.STARTING)) { set(SessionState.INITIALIZED); } else if (is(SessionState.MANUALLY_RESTARTING)) { |