diff options
-rw-r--r-- | src/server/ApiManagers/SearchManager.ts | 26 | ||||
-rw-r--r-- | src/server/index.ts | 1 |
2 files changed, 14 insertions, 13 deletions
diff --git a/src/server/ApiManagers/SearchManager.ts b/src/server/ApiManagers/SearchManager.ts index cb30c9552..316ba09ed 100644 --- a/src/server/ApiManagers/SearchManager.ts +++ b/src/server/ApiManagers/SearchManager.ts @@ -4,11 +4,10 @@ import { Search } from "../Search"; const findInFiles = require('find-in-files'); import * as path from 'path'; import { pathToDirectory, Directory } from "./UploadManager"; -import { command_line } from "../ActionUtilities"; -import request = require('request-promise'); -import { red } from "colors"; +import { red, cyan, yellow } from "colors"; import RouteSubscriber from "../RouteSubscriber"; -import { execSync } from "child_process"; +import { exec } from "child_process"; +import { onWindows } from ".."; export class SearchManager extends ApiManager { @@ -71,15 +70,16 @@ export namespace SolrManager { export async function SetRunning(status: boolean): Promise<boolean> { const args = status ? "start" : "stop -p 8983"; - try { - console.log(`Solr management: trying to ${args}`); - console.log(execSync(`${process.platform === "win32" ? "solr.cmd" : "solr"} ${args}`, { cwd: "./solr-8.3.1/bin" }).toString()); - return true; - } catch (e) { - console.log(red(`Solr management error: unable to ${args}`)); - console.log(e); - return false; - } + console.log(`Solr management: trying to ${args}`); + exec(`${onWindows ? "solr.cmd" : "solr"} ${args}`, { cwd: "./solr-8.3.1/bin" }, (error, stdout, stderr) => { + if (error) { + console.log(red(error.message)); + console.log(red(`Solr management error: unable to ${args}`)); + } + console.log(cyan(stdout)); + console.log(yellow(stderr)); + }); + return true; } }
\ No newline at end of file diff --git a/src/server/index.ts b/src/server/index.ts index 75e6a77d5..6b3dfd614 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -25,6 +25,7 @@ import { yellow, red } from "colors"; import { Session } from "./Session/session"; import { DashSessionAgent } from "./DashSession"; +export const onWindows = process.platform === "win32"; export let sessionAgent: Session.AppliedSessionAgent; export const publicDirectory = path.resolve(__dirname, "public"); export const filesDirectory = path.resolve(publicDirectory, "files"); |