[PATCH] set workers to reduce their processing priority
Authored-by: Kaitlyn Allan <kaitlyn.allan@enlabs.cloud>
This commit is contained in:
parent
cdcd4320a9
commit
23da34f495
1 changed files with 11 additions and 0 deletions
|
@ -9,6 +9,7 @@ import { envOption } from "../env.js";
|
|||
import "reflect-metadata";
|
||||
import { masterMain } from "./master.js";
|
||||
import { workerMain } from "./worker.js";
|
||||
import os from "node:os";
|
||||
|
||||
const logger = new Logger("core", "cyan");
|
||||
const clusterLogger = logger.createSubLogger("cluster", "orange", false);
|
||||
|
@ -31,6 +32,16 @@ export default async function () {
|
|||
await workerMain();
|
||||
}
|
||||
|
||||
if (cluster.isPrimary) {
|
||||
// Leave the master process with a marginally lower priority but not too low.
|
||||
os.setPriority(2);
|
||||
}
|
||||
if (cluster.isWorker) {
|
||||
// Set workers to a much lower priority so that the master process will be
|
||||
// able to respond to api calls even if the workers gank everything.
|
||||
os.setPriority(10);
|
||||
}
|
||||
|
||||
// For when Calckey is started in a child process during unit testing.
|
||||
// Otherwise, process.send cannot be used, so start it.
|
||||
if (process.send) {
|
||||
|
|
Loading…
Reference in a new issue