aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-12-10 21:08:39 -0500
committerSam Wilkins <samwilkins333@gmail.com>2019-12-10 21:08:39 -0500
commit4ed6fd76752d60c617d9a396193ab6d8195dac1c (patch)
tree89d734280ecd548fcc5af16cfe39d061298dead1 /src
parentc17b200f6d0cb136851b798f280aba9b3862c337 (diff)
persistence daemon improvement, relaxed dummy gmail account security to allow messages
Diffstat (limited to 'src')
-rw-r--r--src/server/ActionUtilities.ts6
-rw-r--r--src/server/ApiManagers/SearchManager.ts2
-rw-r--r--src/server/ApiManagers/UtilManager.ts2
-rw-r--r--src/server/index.ts25
-rw-r--r--src/server/persistence_daemon.ts11
-rw-r--r--src/server/updateSearch.ts13
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);
}