UNPKG

@eggjs/cluster

Version:

cluster manager for egg

63 lines (61 loc) 1.49 kB
import { getSrcDirname } from "../../../dirname.js"; import path from "node:path"; import { existsSync } from "node:fs"; import { EventEmitter } from "node:events"; //#region src/utils/mode/base/agent.ts var BaseAgentWorker = class { instance; #instanceId; #instanceStatus; constructor(instance) { this.instance = instance; } get id() { return this.#instanceId; } set id(id) { this.#instanceId = id; } get status() { return this.#instanceStatus; } set status(status) { this.#instanceStatus = status; } static send(_message) { throw new Error("BaseAgentWorker should implement send."); } static kill() { throw new Error("BaseAgentWorker should implement kill."); } static gracefulExit(_options) { throw new Error("BaseAgentWorker should implement gracefulExit."); } }; var BaseAgentUtils = class extends EventEmitter { options; messenger; log; logger; startTime = 0; constructor(options, { log, logger, messenger }) { super(); this.options = options; this.log = log; this.logger = logger; this.messenger = messenger; } getAgentWorkerFile() { let agentWorkerFile = path.join(getSrcDirname(), "agent_worker.js"); if (!existsSync(agentWorkerFile)) agentWorkerFile = path.join(getSrcDirname(), "agent_worker.ts"); return agentWorkerFile; } fork() { throw new Error("BaseAgent should implement fork."); } clean() { throw new Error("BaseAgent should implement clean."); } }; //#endregion export { BaseAgentUtils, BaseAgentWorker };