diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/ActionUtilities.ts | 6 | ||||
-rw-r--r-- | src/server/ApiManagers/SearchManager.ts | 2 | ||||
-rw-r--r-- | src/server/ApiManagers/UtilManager.ts | 2 | ||||
-rw-r--r-- | src/server/index.ts | 25 | ||||
-rw-r--r-- | src/server/persistence_daemon.ts | 11 | ||||
-rw-r--r-- | src/server/updateSearch.ts | 13 |
6 files changed, 20 insertions, 39 deletions
diff --git a/src/server/ActionUtilities.ts b/src/server/ActionUtilities.ts index 53ddea2fc..bc978c982 100644 --- a/src/server/ActionUtilities.ts +++ b/src/server/ActionUtilities.ts @@ -51,11 +51,7 @@ export async function log_execution<T>({ startMessage, endMessage, action, color } catch (e) { error = e; } finally { - if (typeof endMessage === "string") { - log_helper(`${endMessage}.`, resolvedColor); - } else { - log_helper(`${endMessage({ result, error })}.`, resolvedColor); - } + log_helper(`${typeof endMessage === "string" ? endMessage : endMessage({ result, error })}.`, resolvedColor); } return result; } diff --git a/src/server/ApiManagers/SearchManager.ts b/src/server/ApiManagers/SearchManager.ts index ccfd570b8..37d66666b 100644 --- a/src/server/ApiManagers/SearchManager.ts +++ b/src/server/ApiManagers/SearchManager.ts @@ -72,7 +72,7 @@ export namespace SolrManager { const args = status ? "start" : "stop -p 8983"; try { console.log(`Solr management: trying to ${args}`); - console.log(await command_line(`solr.cmd ${args}`, "../../solr-8.1.1/bin")); + console.log(await command_line(`solr.cmd ${args}`, "./solr-8.3.1/bin")); return true; } catch (e) { console.log(red(`Solr management error: unable to ${args}`)); diff --git a/src/server/ApiManagers/UtilManager.ts b/src/server/ApiManagers/UtilManager.ts index e959645e0..2f1bd956f 100644 --- a/src/server/ApiManagers/UtilManager.ts +++ b/src/server/ApiManagers/UtilManager.ts @@ -43,7 +43,7 @@ export default class UtilManager extends ApiManager { method: Method.GET, subscription: "/buxton", onValidation: async ({ res }) => { - const cwd = '../scraping/buxton'; + const cwd = './src/scraping/buxton'; const onResolved = (stdout: string) => { console.log(stdout); res.redirect("/"); }; const onRejected = (err: any) => { console.error(err.message); res.send(err); }; diff --git a/src/server/index.ts b/src/server/index.ts index 3764eaabb..7671936a2 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -119,31 +119,6 @@ function routeSetter({ isRelease, addSupervisedRoute, logRegistrationOutcome }: } }); - let daemonInitialized = false; - addSupervisedRoute({ - method: Method.GET, - subscription: "/persist", - onValidation: async ({ res }) => { - if (!daemonInitialized) { - daemonInitialized = true; - log_execution({ - startMessage: "\ninitializing persistence daemon", - endMessage: ({ result, error }) => { - const success = error === null && result !== undefined; - if (!success) { - console.log(red("failed to initialize the persistance daemon")); - process.exit(0); - } - return "persistence daemon process closed"; - }, - action: async () => command_line("npx ts-node ./persistence_daemon.ts", "./src/server"), - color: yellow - }); - } - res.redirect("/home"); - } - }); - logRegistrationOutcome(); // initialize the web socket (bidirectional communication: if a user changes diff --git a/src/server/persistence_daemon.ts b/src/server/persistence_daemon.ts index 388440b49..2cb17456c 100644 --- a/src/server/persistence_daemon.ts +++ b/src/server/persistence_daemon.ts @@ -3,8 +3,9 @@ import { command_line, log_execution } from "./ActionUtilities"; import { red, yellow, cyan, green } from "colors"; import * as nodemailer from "nodemailer"; import { MailOptions } from "nodemailer/lib/json-transport"; +import { Database } from "./database"; -const { LOCATION } = process.env; +const LOCATION = "http://localhost"; const recipient = "samuel_wilkins@brown.edu"; let restarting = false; @@ -39,13 +40,15 @@ async function listen() { console.log(await log_execution({ startMessage: "Initiating server restart", endMessage: "Server successfully restarted", - action: async () => command_line(`npm run start${suffix}`, "../../"), + action: () => command_line(`npm run start${suffix}`), color: green })); restarting = false; + } else { + console.log(green(`No issues detected as of ${new Date().toISOString()}`)); } } - }, 1000 * 90); + }, 1000 * 10); } function emailText(error: any) { @@ -72,7 +75,7 @@ async function notify(error: any) { text: emailText(error) } as MailOptions; return new Promise<boolean>(resolve => { - smtpTransport.sendMail(mailOptions, (dispatchError: Error | null) => resolve(dispatchError === null)); + smtpTransport.sendMail(mailOptions, (dispatchError: Error | null) => { console.log(dispatchError); resolve(dispatchError === null); }); }); } diff --git a/src/server/updateSearch.ts b/src/server/updateSearch.ts index 5ae6885c5..83094d36a 100644 --- a/src/server/updateSearch.ts +++ b/src/server/updateSearch.ts @@ -59,7 +59,14 @@ async function update() { }); const cursor = await log_execution({ startMessage: "Connecting to and querying for all documents from database...", - endMessage: "Connection successful and query complete", + endMessage: ({ result, error }) => { + const success = error === null && result !== undefined; + if (!success) { + console.log(red("Unable to connect to the database.")); + process.exit(0); + } + return "Connection successful and query complete"; + }, action: () => Database.Instance.query({}), color: yellow }); @@ -92,7 +99,7 @@ async function update() { updates.push(update); } } - await cursor.forEach(updateDoc); + await cursor?.forEach(updateDoc); const result = await log_execution({ startMessage: `Dispatching updates for ${updates.length} documents`, endMessage: "Dispatched updates complete", @@ -107,7 +114,7 @@ async function update() { console.log(result); console.log("\n"); } - await cursor.close(); + await cursor?.close(); process.exit(0); } |