diff options
Diffstat (limited to 'src/server/ApiManagers/SearchManager.ts')
-rw-r--r-- | src/server/ApiManagers/SearchManager.ts | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/server/ApiManagers/SearchManager.ts b/src/server/ApiManagers/SearchManager.ts index c1c908088..4ce12f9f3 100644 --- a/src/server/ApiManagers/SearchManager.ts +++ b/src/server/ApiManagers/SearchManager.ts @@ -4,11 +4,11 @@ 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 ".."; +import { get } from "request-promise"; export class SearchManager extends ApiManager { @@ -69,15 +69,23 @@ export class SearchManager extends ApiManager { export namespace SolrManager { + const command = onWindows ? "solr.cmd" : "solr"; + export async function SetRunning(status: boolean): Promise<boolean> { const args = status ? "start" : "stop -p 8983"; + console.log(`solr management: trying to ${args}`); + exec(`${command} ${args}`, { cwd: "./solr-8.3.1/bin" }, (error, stdout, stderr) => { + if (error) { + console.log(red(`solr management error: unable to ${args} server`)); + console.log(red(error.message)); + } + console.log(cyan(stdout)); + console.log(yellow(stderr)); + }); try { - console.log(`Solr management: trying to ${args}`); - console.log(execSync(`./solr.cmd ${args}`, { cwd: "./solr-8.3.1/bin" })); + await get("http://localhost:8983"); return true; - } catch (e) { - console.log(red(`Solr management error: unable to ${args}`)); - console.log(e); + } catch { return false; } } |