parent
5e976afb27
commit
a4de93f976
@ -0,0 +1,51 @@
|
||||
const { log } = require("../src/util");
|
||||
const childProcess = require("child_process");
|
||||
|
||||
class EmbeddedMariaDB {
|
||||
|
||||
static childProcess = null;
|
||||
static running = false;
|
||||
|
||||
static init() {
|
||||
|
||||
}
|
||||
|
||||
static start() {
|
||||
if (this.childProcess) {
|
||||
log.log("mariadb", "Already started");
|
||||
return;
|
||||
}
|
||||
|
||||
this.running = true;
|
||||
this.emitChange("Starting cloudflared");
|
||||
this.childProcess = childProcess.spawn(this.cloudflaredPath, args);
|
||||
this.childProcess.stdout.pipe(process.stdout);
|
||||
this.childProcess.stderr.pipe(process.stderr);
|
||||
|
||||
this.childProcess.on("close", (code) => {
|
||||
this.running = false;
|
||||
this.childProcess = null;
|
||||
this.emitChange("Stopped cloudflared", code);
|
||||
});
|
||||
|
||||
this.childProcess.on("error", (err) => {
|
||||
if (err.code === "ENOENT") {
|
||||
this.emitError(`Cloudflared error: ${this.cloudflaredPath} is not found`);
|
||||
} else {
|
||||
this.emitError(err);
|
||||
}
|
||||
});
|
||||
|
||||
this.childProcess.stderr.on("data", (data) => {
|
||||
this.emitError(data.toString());
|
||||
});
|
||||
}
|
||||
|
||||
static stop() {
|
||||
if (this.childProcess) {
|
||||
this.childProcess.kill("SIGINT");
|
||||
this.childProcess = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in new issue