クラスタ数を制限するオプションを追加

This commit is contained in:
syuilo 2018-07-28 03:55:41 +09:00
parent 5c6f24dc39
commit e4bf0392af
3 changed files with 11 additions and 4 deletions

View file

@ -131,3 +131,6 @@ drive:
# Ghost account is an account used for the purpose of delegating
# followers when putting users in the list.
# ghost: user-id-of-your-ghost-account
# Clustering
# clusterLimit: 1

View file

@ -92,6 +92,8 @@ export type Source = {
};
google_maps_api_key: string;
clusterLimit?: number;
};
/**

View file

@ -66,7 +66,7 @@ async function masterMain() {
Logger.succ('Misskey initialized');
spawnWorkers(() => {
spawnWorkers(config.clusterLimit, () => {
Logger.succ('All workers started');
Logger.info(`Now listening on port ${config.port} on ${config.url}`);
});
@ -137,14 +137,16 @@ async function init(): Promise<Config> {
return config;
}
function spawnWorkers(onComplete: Function) {
function spawnWorkers(limit: number, onComplete: Function) {
// Count the machine's CPUs
const cpuCount = os.cpus().length;
const progress = new ProgressBar(cpuCount, 'Starting workers');
const count = limit || cpuCount;
const progress = new ProgressBar(count, 'Starting workers');
// Create a worker for each CPU
for (let i = 0; i < cpuCount; i++) {
for (let i = 0; i < count; i++) {
const worker = cluster.fork();
worker.on('message', message => {
if (message === 'ready') {