19 lines
847 B
JavaScript
Executable File
19 lines
847 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { VDBJobService, createVDBJobHttpServer } from "./vdb-job-service.mjs";
|
|
|
|
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../..");
|
|
const host = process.env.VDB_SERVER_HOST ?? "127.0.0.1";
|
|
const port = Number(process.env.VDB_SERVER_PORT ?? 8787);
|
|
const service = new VDBJobService({
|
|
converter: process.env.VDB_CONVERTER ?? path.join(root, "build_vdb_tools/vdb_to_nanovdb"),
|
|
root: process.env.VDB_SERVER_DATA ?? path.join(root, "build_vdb_server"),
|
|
});
|
|
const server = createVDBJobHttpServer(service);
|
|
server.listen(port, host, () => process.stdout.write(`vdb-job-server-ready http://${host}:${port}\n`));
|
|
|
|
for (const signal of ["SIGINT", "SIGTERM"]) {
|
|
process.on(signal, () => server.close(() => process.exit(0)));
|
|
}
|