xypriss 1.2.4 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -3
- package/dist/cjs/mods/security/src/components/cache/index.js +1 -1
- package/dist/cjs/shared/logger/Logger.js +2 -0
- package/dist/cjs/shared/logger/Logger.js.map +1 -1
- package/dist/cjs/src/cluster/bun-cluster-manager.js +1567 -0
- package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -0
- package/dist/cjs/src/cluster/cluster-manager.js +1 -1
- package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
- package/dist/cjs/src/cluster/index.js +25 -6
- package/dist/cjs/src/cluster/index.js.map +1 -1
- package/dist/cjs/src/cluster/memory-manager.js +486 -0
- package/dist/cjs/src/cluster/memory-manager.js.map +1 -0
- package/dist/cjs/src/cluster/modules/BunIPCManager.js +603 -0
- package/dist/cjs/src/cluster/modules/BunIPCManager.js.map +1 -0
- package/dist/cjs/src/cluster/modules/ClusterFactory.js +22 -1
- package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +1 -1
- package/dist/cjs/src/cluster/modules/CpuMonitor.js +658 -0
- package/dist/cjs/src/cluster/modules/CpuMonitor.js.map +1 -0
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +257 -0
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
- package/dist/cjs/src/cluster/modules/ProcessMonitor.js +513 -0
- package/dist/cjs/src/cluster/modules/ProcessMonitor.js.map +1 -0
- package/dist/cjs/src/plugins/server-maintenance-plugin.js +79 -14
- package/dist/cjs/src/plugins/server-maintenance-plugin.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +64 -43
- package/dist/cjs/src/server/FastServer.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
- package/dist/cjs/src/server/const/Cluster.config.js +174 -31
- package/dist/cjs/src/server/const/Cluster.config.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +11 -2
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/utils/PortManager.js +26 -15
- package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/index.js +1 -1
- package/dist/esm/shared/logger/Logger.js +2 -0
- package/dist/esm/shared/logger/Logger.js.map +1 -1
- package/dist/esm/src/cluster/bun-cluster-manager.js +1565 -0
- package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -0
- package/dist/esm/src/cluster/cluster-manager.js +1 -1
- package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
- package/dist/esm/src/cluster/index.js +25 -6
- package/dist/esm/src/cluster/index.js.map +1 -1
- package/dist/esm/src/cluster/memory-manager.js +484 -0
- package/dist/esm/src/cluster/memory-manager.js.map +1 -0
- package/dist/esm/src/cluster/modules/BunIPCManager.js +601 -0
- package/dist/esm/src/cluster/modules/BunIPCManager.js.map +1 -0
- package/dist/esm/src/cluster/modules/ClusterFactory.js +22 -1
- package/dist/esm/src/cluster/modules/ClusterFactory.js.map +1 -1
- package/dist/esm/src/cluster/modules/CpuMonitor.js +656 -0
- package/dist/esm/src/cluster/modules/CpuMonitor.js.map +1 -0
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +255 -0
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
- package/dist/esm/src/cluster/modules/ProcessMonitor.js +511 -0
- package/dist/esm/src/cluster/modules/ProcessMonitor.js.map +1 -0
- package/dist/esm/src/plugins/server-maintenance-plugin.js +79 -14
- package/dist/esm/src/plugins/server-maintenance-plugin.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +64 -43
- package/dist/esm/src/server/FastServer.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +226 -10
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
- package/dist/esm/src/server/const/Cluster.config.js +174 -31
- package/dist/esm/src/server/const/Cluster.config.js.map +1 -1
- package/dist/esm/src/server/const/default.js +11 -2
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/utils/PortManager.js +26 -15
- package/dist/esm/src/server/utils/PortManager.js.map +1 -1
- package/dist/index.d.ts +90 -2
- package/package.json +6 -1
- package/dist/cjs/src/plugins/modules/network/index.js +0 -120
- package/dist/cjs/src/plugins/modules/network/index.js.map +0 -1
- package/dist/cjs/src/server/plugins/PluginEngine.js +0 -378
- package/dist/cjs/src/server/plugins/PluginEngine.js.map +0 -1
- package/dist/cjs/src/server/plugins/PluginRegistry.js +0 -339
- package/dist/cjs/src/server/plugins/PluginRegistry.js.map +0 -1
- package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js +0 -591
- package/dist/cjs/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
- package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js +0 -413
- package/dist/cjs/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
- package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js +0 -843
- package/dist/cjs/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
- package/dist/cjs/src/server/plugins/core/CachePlugin.js +0 -1975
- package/dist/cjs/src/server/plugins/core/CachePlugin.js.map +0 -1
- package/dist/cjs/src/server/plugins/core/PerformancePlugin.js +0 -894
- package/dist/cjs/src/server/plugins/core/PerformancePlugin.js.map +0 -1
- package/dist/cjs/src/server/plugins/core/SecurityPlugin.js +0 -799
- package/dist/cjs/src/server/plugins/core/SecurityPlugin.js.map +0 -1
- package/dist/cjs/src/server/plugins/types/PluginTypes.js +0 -47
- package/dist/cjs/src/server/plugins/types/PluginTypes.js.map +0 -1
- package/dist/esm/src/plugins/modules/network/index.js +0 -109
- package/dist/esm/src/plugins/modules/network/index.js.map +0 -1
- package/dist/esm/src/server/plugins/PluginEngine.js +0 -376
- package/dist/esm/src/server/plugins/PluginEngine.js.map +0 -1
- package/dist/esm/src/server/plugins/PluginRegistry.js +0 -337
- package/dist/esm/src/server/plugins/PluginRegistry.js.map +0 -1
- package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js +0 -589
- package/dist/esm/src/server/plugins/builtin/JWTAuthPlugin.js.map +0 -1
- package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js +0 -411
- package/dist/esm/src/server/plugins/builtin/ResponseTimePlugin.js.map +0 -1
- package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js +0 -841
- package/dist/esm/src/server/plugins/builtin/SmartCachePlugin.js.map +0 -1
- package/dist/esm/src/server/plugins/core/CachePlugin.js +0 -1973
- package/dist/esm/src/server/plugins/core/CachePlugin.js.map +0 -1
- package/dist/esm/src/server/plugins/core/PerformancePlugin.js +0 -872
- package/dist/esm/src/server/plugins/core/PerformancePlugin.js.map +0 -1
- package/dist/esm/src/server/plugins/core/SecurityPlugin.js +0 -797
- package/dist/esm/src/server/plugins/core/SecurityPlugin.js.map +0 -1
- package/dist/esm/src/server/plugins/types/PluginTypes.js +0 -47
- package/dist/esm/src/server/plugins/types/PluginTypes.js.map +0 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ClusterManager } from '../../../cluster/cluster-manager.js';
|
|
2
|
+
import { BunClusterManager } from '../../../cluster/bun-cluster-manager.js';
|
|
2
3
|
import { logger } from '../../../../shared/logger/Logger.js';
|
|
4
|
+
import { BunIPCManager } from '../../../cluster/modules/BunIPCManager.js';
|
|
3
5
|
|
|
4
6
|
/**
|
|
5
7
|
* Check if the current runtime supports clustering
|
|
@@ -36,16 +38,51 @@ class ClusterManagerComponent {
|
|
|
36
38
|
initializeCluster() {
|
|
37
39
|
if (!this.options.cluster?.enabled)
|
|
38
40
|
return;
|
|
41
|
+
// Check for cluster bypass environment variables
|
|
42
|
+
if (process.env.DISABLE_CLUSTERING === "true" ||
|
|
43
|
+
process.env.SINGLE_PROCESS === "true") {
|
|
44
|
+
logger.info("cluster", "Clustering disabled via environment variable, enabling single-process mode");
|
|
45
|
+
this._enableSingleProcessFallback();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
// Prevent workers from creating their own clusters (fix recursive clustering)
|
|
49
|
+
if (process.env.CLUSTER_MODE === "true" ||
|
|
50
|
+
process.env.NODE_ENV === "worker") {
|
|
51
|
+
logger.debug("cluster", "Running in worker mode - skipping cluster initialization");
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// Check if we're running in Bun
|
|
55
|
+
if (process.versions.bun) {
|
|
56
|
+
logger.info("cluster", "Bun runtime detected. Using Bun-compatible cluster manager.");
|
|
57
|
+
this.initializeBunCluster();
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
39
60
|
// Check if clustering is supported in current runtime
|
|
40
61
|
if (!isClusteringSupported()) {
|
|
41
|
-
logger.warn("cluster", "Clustering not supported in current runtime
|
|
62
|
+
logger.warn("cluster", "Clustering not supported in current runtime. Disabling cluster functionality.");
|
|
42
63
|
return;
|
|
43
64
|
}
|
|
44
|
-
logger.debug("cluster", "Initializing cluster manager...");
|
|
65
|
+
logger.debug("cluster", "Initializing Node.js cluster manager...");
|
|
45
66
|
this.cluster = new ClusterManager(this.options.cluster.config || {});
|
|
46
67
|
// Add cluster methods to app immediately when cluster is configured
|
|
47
68
|
this.addClusterMethods();
|
|
48
|
-
logger.debug("cluster", "
|
|
69
|
+
logger.debug("cluster", "Node.js cluster manager initialized");
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Initialize Bun cluster manager
|
|
73
|
+
*/
|
|
74
|
+
initializeBunCluster() {
|
|
75
|
+
logger.debug("cluster", "Initializing Bun cluster manager...");
|
|
76
|
+
// Get base port from server options or default
|
|
77
|
+
const basePort = this.dependencies.serverOptions?.port || 8085;
|
|
78
|
+
this.bunCluster = new BunClusterManager(this.options.cluster?.config || {}, basePort);
|
|
79
|
+
// Initialize IPC manager for Bun workers
|
|
80
|
+
this.ipcManager = new BunIPCManager();
|
|
81
|
+
// Connect IPC manager to cluster manager
|
|
82
|
+
this.bunCluster.setIPCManager(this.ipcManager);
|
|
83
|
+
// Add Bun cluster methods to app
|
|
84
|
+
this.addBunClusterMethods();
|
|
85
|
+
logger.debug("cluster", "Bun cluster manager initialized");
|
|
49
86
|
}
|
|
50
87
|
/**
|
|
51
88
|
* Get cluster manager instance
|
|
@@ -53,11 +90,18 @@ class ClusterManagerComponent {
|
|
|
53
90
|
getCluster() {
|
|
54
91
|
return this.cluster;
|
|
55
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Get Bun cluster manager instance
|
|
95
|
+
*/
|
|
96
|
+
getBunCluster() {
|
|
97
|
+
return this.bunCluster;
|
|
98
|
+
}
|
|
56
99
|
/**
|
|
57
100
|
* Check if cluster is enabled
|
|
58
101
|
*/
|
|
59
102
|
isClusterEnabled() {
|
|
60
|
-
return this.options.cluster?.enabled === true
|
|
103
|
+
return (this.options.cluster?.enabled === true &&
|
|
104
|
+
(this.cluster !== undefined || this.bunCluster !== undefined));
|
|
61
105
|
}
|
|
62
106
|
/**
|
|
63
107
|
* Add cluster management methods to the Express app
|
|
@@ -106,6 +150,112 @@ class ClusterManagerComponent {
|
|
|
106
150
|
// logger.debug(
|
|
107
151
|
// "cluster","Cluster methods added to app");
|
|
108
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Add Bun cluster management methods to the Express app
|
|
155
|
+
*/
|
|
156
|
+
addBunClusterMethods() {
|
|
157
|
+
if (!this.bunCluster)
|
|
158
|
+
return;
|
|
159
|
+
logger.debug("cluster", "Adding Bun cluster methods to app...");
|
|
160
|
+
// Cluster scaling methods
|
|
161
|
+
this.dependencies.app.scaleUp = async (count = 1) => {
|
|
162
|
+
return await this.bunCluster.scaleUp(count);
|
|
163
|
+
};
|
|
164
|
+
this.dependencies.app.scaleDown = async (count = 1) => {
|
|
165
|
+
return await this.bunCluster.scaleDown(count);
|
|
166
|
+
};
|
|
167
|
+
this.dependencies.app.autoScale = async () => {
|
|
168
|
+
// Simple auto-scaling logic for Bun
|
|
169
|
+
const metrics = await this.bunCluster.getMetrics();
|
|
170
|
+
const activeWorkers = this.bunCluster.getActiveWorkers();
|
|
171
|
+
if (activeWorkers.length < 2 && metrics.cpuUsage > 80) {
|
|
172
|
+
await this.bunCluster.scaleUp(1);
|
|
173
|
+
}
|
|
174
|
+
else if (activeWorkers.length > 1 && metrics.cpuUsage < 30) {
|
|
175
|
+
await this.bunCluster.scaleDown(1);
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
// Cluster information methods
|
|
179
|
+
this.dependencies.app.getClusterMetrics = async () => {
|
|
180
|
+
return await this.bunCluster.getMetrics();
|
|
181
|
+
};
|
|
182
|
+
this.dependencies.app.getClusterHealth = async () => {
|
|
183
|
+
return await this.bunCluster.checkHealth();
|
|
184
|
+
};
|
|
185
|
+
this.dependencies.app.getAllWorkers = () => {
|
|
186
|
+
return this.bunCluster.getAllWorkers();
|
|
187
|
+
};
|
|
188
|
+
this.dependencies.app.getOptimalWorkerCount = async () => {
|
|
189
|
+
// Simple calculation for Bun
|
|
190
|
+
const cpuCount = navigator.hardwareConcurrency || 4;
|
|
191
|
+
return Math.max(1, cpuCount - 1);
|
|
192
|
+
};
|
|
193
|
+
// Cluster management methods
|
|
194
|
+
this.dependencies.app.restartCluster = async () => {
|
|
195
|
+
await this.bunCluster.stop(true);
|
|
196
|
+
await this.bunCluster.start();
|
|
197
|
+
};
|
|
198
|
+
this.dependencies.app.stopCluster = async (graceful = true) => {
|
|
199
|
+
return await this.bunCluster?.stop(graceful);
|
|
200
|
+
};
|
|
201
|
+
// IPC methods using BunIPCManager
|
|
202
|
+
this.dependencies.app.broadcastToWorkers = async (message) => {
|
|
203
|
+
if (!this.ipcManager) {
|
|
204
|
+
throw new Error("IPC Manager not initialized");
|
|
205
|
+
}
|
|
206
|
+
logger.info("cluster", "Broadcasting to Bun workers:", message);
|
|
207
|
+
try {
|
|
208
|
+
await this.ipcManager.broadcastToWorkers("app_message", message);
|
|
209
|
+
logger.debug("cluster", "Broadcast completed successfully");
|
|
210
|
+
}
|
|
211
|
+
catch (error) {
|
|
212
|
+
logger.error("cluster", "Failed to broadcast message:", error);
|
|
213
|
+
throw error;
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
this.dependencies.app.sendToRandomWorker = async (message) => {
|
|
217
|
+
if (!this.ipcManager) {
|
|
218
|
+
throw new Error("IPC Manager not initialized");
|
|
219
|
+
}
|
|
220
|
+
logger.info("cluster", "Sending to random Bun worker:", message);
|
|
221
|
+
try {
|
|
222
|
+
await this.ipcManager.sendToRandomWorker("app_message", message);
|
|
223
|
+
logger.debug("cluster", "Message sent to random worker successfully");
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
logger.error("cluster", "Failed to send message to random worker:", error);
|
|
227
|
+
throw error;
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
logger.debug("cluster", "Bun cluster methods added to app");
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Setup Bun cluster event handlers
|
|
234
|
+
*/
|
|
235
|
+
setupBunClusterEventHandlers() {
|
|
236
|
+
if (!this.bunCluster)
|
|
237
|
+
return;
|
|
238
|
+
logger.debug("cluster", "Setting up Bun cluster event handlers...");
|
|
239
|
+
this.bunCluster.on("cluster:started", (data) => {
|
|
240
|
+
logger.info("cluster", `Bun cluster started with ${data.workerCount} workers`);
|
|
241
|
+
});
|
|
242
|
+
this.bunCluster.on("worker:started", (data) => {
|
|
243
|
+
logger.info("cluster", `Bun worker ${data.workerId} started on port ${data.port}`);
|
|
244
|
+
});
|
|
245
|
+
this.bunCluster.on("worker:stopped", (data) => {
|
|
246
|
+
logger.info("cluster", `Bun worker ${data.workerId} stopped`);
|
|
247
|
+
});
|
|
248
|
+
this.bunCluster.on("worker:exit", (data) => {
|
|
249
|
+
logger.warn("cluster", `Bun worker ${data.workerId} exited with code ${data.exitCode}`);
|
|
250
|
+
});
|
|
251
|
+
this.bunCluster.on("metrics:collected", (metrics) => {
|
|
252
|
+
logger.debug("cluster", "Bun cluster metrics collected:", metrics);
|
|
253
|
+
});
|
|
254
|
+
this.bunCluster.on("cluster:stopped", () => {
|
|
255
|
+
logger.info("cluster", "Bun cluster stopped");
|
|
256
|
+
});
|
|
257
|
+
logger.debug("cluster", "Bun cluster event handlers setup complete");
|
|
258
|
+
}
|
|
109
259
|
/**
|
|
110
260
|
* Add cluster monitoring endpoints
|
|
111
261
|
*/
|
|
@@ -113,7 +263,7 @@ class ClusterManagerComponent {
|
|
|
113
263
|
if (!this.cluster || !this.options.cluster?.enabled)
|
|
114
264
|
return;
|
|
115
265
|
// Cluster health endpoint
|
|
116
|
-
this.dependencies.app.get(basePoint + "/health/cluster", async (
|
|
266
|
+
this.dependencies.app.get(basePoint + "/health/cluster", async (_req, res) => {
|
|
117
267
|
try {
|
|
118
268
|
const clusterHealth = await this.cluster.checkHealth();
|
|
119
269
|
const clusterMetrics = await this.cluster.getMetrics();
|
|
@@ -175,7 +325,7 @@ class ClusterManagerComponent {
|
|
|
175
325
|
}
|
|
176
326
|
});
|
|
177
327
|
// Cluster restart endpoint
|
|
178
|
-
this.dependencies.app.post(basePoint + "/cluster/restart", async (
|
|
328
|
+
this.dependencies.app.post(basePoint + "/cluster/restart", async (_req, res) => {
|
|
179
329
|
try {
|
|
180
330
|
await this.cluster.restart();
|
|
181
331
|
res.json({
|
|
@@ -239,27 +389,93 @@ class ClusterManagerComponent {
|
|
|
239
389
|
* Start cluster manager
|
|
240
390
|
*/
|
|
241
391
|
async startCluster() {
|
|
392
|
+
// Handle Bun cluster
|
|
393
|
+
if (this.bunCluster) {
|
|
394
|
+
try {
|
|
395
|
+
logger.debug("cluster", "Starting Bun cluster...");
|
|
396
|
+
await this.bunCluster.start();
|
|
397
|
+
this.setupBunClusterEventHandlers();
|
|
398
|
+
logger.debug("cluster", "Bun cluster started successfully");
|
|
399
|
+
}
|
|
400
|
+
catch (error) {
|
|
401
|
+
logger.error("cluster", "Failed to start Bun cluster:", error.message);
|
|
402
|
+
// Fallback: disable clustering and continue in single-process mode
|
|
403
|
+
logger.warn("cluster", "Attempting fallback to single-process mode...");
|
|
404
|
+
try {
|
|
405
|
+
await this._enableSingleProcessFallback();
|
|
406
|
+
logger.info("cluster", "Successfully fell back to single-process mode");
|
|
407
|
+
}
|
|
408
|
+
catch (fallbackError) {
|
|
409
|
+
logger.error("cluster", "Fallback mode also failed:", fallbackError.message);
|
|
410
|
+
throw error; // Throw original error
|
|
411
|
+
}
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
// Handle Node.js cluster
|
|
242
416
|
if (!this.cluster)
|
|
243
417
|
return;
|
|
244
418
|
try {
|
|
245
|
-
logger.debug("cluster", "Starting cluster...");
|
|
419
|
+
logger.debug("cluster", "Starting Node.js cluster...");
|
|
246
420
|
await this.cluster.start();
|
|
247
421
|
this.setupClusterEventHandlers();
|
|
248
|
-
logger.debug("cluster", "
|
|
422
|
+
logger.debug("cluster", "Node.js cluster started successfully");
|
|
249
423
|
}
|
|
250
424
|
catch (error) {
|
|
251
|
-
logger.error("cluster", "Failed to start cluster:", error.message);
|
|
425
|
+
logger.error("cluster", "Failed to start Node.js cluster:", error.message);
|
|
252
426
|
throw error;
|
|
253
427
|
}
|
|
254
428
|
}
|
|
429
|
+
/**
|
|
430
|
+
* Enable single-process fallback mode
|
|
431
|
+
*/
|
|
432
|
+
async _enableSingleProcessFallback() {
|
|
433
|
+
logger.info("cluster", "Enabling single-process fallback mode");
|
|
434
|
+
// Disable clustering by setting cluster references to null
|
|
435
|
+
this.bunCluster = undefined;
|
|
436
|
+
this.cluster = undefined;
|
|
437
|
+
// Update app methods to work in single-process mode
|
|
438
|
+
this.dependencies.app.broadcastToWorkers = async (message) => {
|
|
439
|
+
logger.debug("cluster", "Single-process mode: broadcast ignored", message);
|
|
440
|
+
// In single-process mode, there are no workers to broadcast to
|
|
441
|
+
};
|
|
442
|
+
this.dependencies.app.sendToRandomWorker = async (message) => {
|
|
443
|
+
logger.debug("cluster", "Single-process mode: sendToRandomWorker ignored", message);
|
|
444
|
+
// In single-process mode, there are no workers to send to
|
|
445
|
+
};
|
|
446
|
+
// Update cluster management methods to no-ops
|
|
447
|
+
this.dependencies.app.restartCluster = async () => {
|
|
448
|
+
logger.warn("cluster", "Single-process mode: cluster restart not available");
|
|
449
|
+
throw new Error("Cluster restart not available in single-process mode");
|
|
450
|
+
};
|
|
451
|
+
this.dependencies.app.stopCluster = async () => {
|
|
452
|
+
logger.warn("cluster", "Single-process mode: cluster stop not available");
|
|
453
|
+
throw new Error("Cluster stop not available in single-process mode");
|
|
454
|
+
};
|
|
455
|
+
logger.info("cluster", "Single-process fallback mode enabled successfully");
|
|
456
|
+
}
|
|
255
457
|
/**
|
|
256
458
|
* Stop cluster manager
|
|
257
459
|
*/
|
|
258
460
|
async stopCluster(graceful = true) {
|
|
461
|
+
// Handle Bun cluster
|
|
462
|
+
if (this.bunCluster) {
|
|
463
|
+
try {
|
|
464
|
+
logger.debug("cluster", "Stopping Bun cluster...");
|
|
465
|
+
await this.bunCluster.stop(graceful);
|
|
466
|
+
logger.debug("cluster", "Bun cluster stopped successfully");
|
|
467
|
+
}
|
|
468
|
+
catch (error) {
|
|
469
|
+
logger.error("cluster", "Failed to stop Bun cluster:", error.message);
|
|
470
|
+
throw error;
|
|
471
|
+
}
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
// Handle Node.js cluster
|
|
259
475
|
if (!this.cluster)
|
|
260
476
|
return;
|
|
261
477
|
try {
|
|
262
|
-
logger.debug("cluster", "Stopping cluster...");
|
|
478
|
+
logger.debug("cluster", "Stopping Node.js cluster...");
|
|
263
479
|
await this.cluster.stop(graceful);
|
|
264
480
|
logger.debug("cluster", "Cluster stopped successfully");
|
|
265
481
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterManagerComponent.js","sources":["../../../../../../src/server/components/fastapi/ClusterManagerComponent.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClusterManagerComponent.js","sources":["../../../../../../src/server/components/fastapi/ClusterManagerComponent.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AASA;;AAEG;AACH,SAAS,qBAAqB,GAAA;;AAE1B,IAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;AACtB,QAAA,OAAO,KAAK,CAAC;KAChB;;AAGD,IAAA,IAAI;AACA,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,QAAA,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC;KAC7C;AAAC,IAAA,MAAM;AACJ,QAAA,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAED;;;AAGG;MACU,uBAAuB,CAAA;IAOhC,WACI,CAAA,OAAuC,EACvC,YAAiD,EAAA;AAEjD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;KACJ;AAED;;AAEG;IACK,iBAAiB,GAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;YAAE,OAAO;;AAG3C,QAAA,IACI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM;AACzC,YAAA,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EACvC;AACE,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,4EAA4E,CAC/E,CAAC;YACF,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACpC,OAAO;SACV;;AAGD,QAAA,IACI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM;AACnC,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EACnC;AACE,YAAA,MAAM,CAAC,KAAK,CACR,SAAS,EACT,0DAA0D,CAC7D,CAAC;YACF,OAAO;SACV;;AAGD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;AACtB,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,6DAA6D,CAChE,CAAC;YACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO;SACV;;AAGD,QAAA,IAAI,CAAC,qBAAqB,EAAE,EAAE;AAC1B,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,+EAA+E,CAClF,CAAC;YACF,OAAO;SACV;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC;AAEnE,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;;QAGrE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAEzB,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;KAClE;AAED;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;;QAG/D,MAAM,QAAQ,GAAI,IAAI,CAAC,YAAY,CAAC,aAAqB,EAAE,IAAI,IAAI,IAAI,CAAC;AAExE,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CACnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAClC,QAAQ,CACX,CAAC;;AAGF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;;QAGtC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;QAG/C,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE5B,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;KAC9D;AAED;;AAEG;IACI,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;AAED;;AAEG;IACI,aAAa,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;AAED;;AAEG;IACI,gBAAgB,GAAA;QACnB,QACI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI;AACtC,aAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,EAC/D;KACL;AAED;;AAEG;IACK,iBAAiB,GAAA;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;;AAG5D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YACxD,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9C,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YAC1D,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAW;AACzC,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC;AAC3C,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAW;AACjD,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,UAAU,EAAE,CAAC;AAC5C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAW;AAChD,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,EAAE,CAAC;AAC7C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,GAAG,MAAK;AACvC,YAAA,OAAO,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC;AACzC,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,GAAG,YAAW;AACrD,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,qBAAqB,EAAE,CAAC;AACvD,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,YAAW;AAC9C,YAAA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;AACzC,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,OAChC,QAAA,GAAoB,IAAI,KACxB;YACA,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9C,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,OAAY,KAAI;YAC9D,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAClD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,OAAY,KAAI;YAC9D,OAAO,MAAM,IAAI,CAAC,OAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC3D,SAAC,CAAC;;;KAIL;AAED;;AAEG;IACK,oBAAoB,GAAA;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;;AAGhE,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YACxD,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjD,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,KAAA,GAAgB,CAAC,KAAI;YAC1D,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACnD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,GAAG,YAAW;;YAEzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAW,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAW,CAAC,gBAAgB,EAAE,CAAC;AAE1D,YAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAE;gBACnD,MAAM,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACrC;AAAM,iBAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,EAAE,EAAE;gBAC1D,MAAM,IAAI,CAAC,UAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACvC;AACL,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAW;AACjD,YAAA,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,UAAU,EAAE,CAAC;AAC/C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,YAAW;AAChD,YAAA,OAAO,MAAM,IAAI,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC;AAChD,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,GAAG,MAAK;AACvC,YAAA,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,EAAE,CAAC;AAC5C,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,GAAG,YAAW;;AAErD,YAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;AACrC,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,YAAW;YAC9C,MAAM,IAAI,CAAC,UAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,YAAA,MAAM,IAAI,CAAC,UAAW,CAAC,KAAK,EAAE,CAAC;AACnC,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,OAChC,QAAA,GAAoB,IAAI,KACxB;YACA,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;YACD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAC;AAChE,YAAA,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpC,aAAa,EACb,OAAO,CACV,CAAC;AACF,gBAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;aAC/D;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;AAC/D,gBAAA,MAAM,KAAK,CAAC;aACf;AACL,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,gBAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAClD;YACD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,EAAE,OAAO,CAAC,CAAC;AACjE,YAAA,IAAI;gBACA,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpC,aAAa,EACb,OAAO,CACV,CAAC;AACF,gBAAA,MAAM,CAAC,KAAK,CACR,SAAS,EACT,4CAA4C,CAC/C,CAAC;aACL;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CACR,SAAS,EACT,0CAA0C,EAC1C,KAAK,CACR,CAAC;AACF,gBAAA,MAAM,KAAK,CAAC;aACf;AACL,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;KAC/D;AAED;;AAEG;IACK,4BAA4B,GAAA;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;AAE7B,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;QAEpE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,IAAI,KAAI;YAC3C,MAAM,CAAC,IAAI,CACP,SAAS,EACT,CAA4B,yBAAA,EAAA,IAAI,CAAC,WAAW,CAAU,QAAA,CAAA,CACzD,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,KAAI;AAC1C,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,oBAAoB,IAAI,CAAC,IAAI,CAAA,CAAE,CAC7D,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,KAAI;YAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,CAAU,QAAA,CAAA,CAAC,CAAC;AAClE,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,KAAI;AACvC,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,CAAc,WAAA,EAAA,IAAI,CAAC,QAAQ,qBAAqB,IAAI,CAAC,QAAQ,CAAA,CAAE,CAClE,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAI;YAChD,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,gCAAgC,EAAE,OAAO,CAAC,CAAC;AACvE,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAK;AACvC,YAAA,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,2CAA2C,CAAC,CAAC;KACxE;AAED;;AAEG;AACI,IAAA,6BAA6B,CAAC,SAAiB,EAAA;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;YAAE,OAAO;;AAG5D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CACrB,SAAS,GAAG,iBAAiB,EAC7B,OAAO,IAAI,EAAE,GAAG,KAAI;AAChB,YAAA,IAAI;gBACA,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,WAAW,EAAE,CAAC;gBACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAQ,CAAC,UAAU,EAAE,CAAC;gBAExD,GAAG,CAAC,IAAI,CAAC;AACL,oBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACnC,oBAAA,OAAO,EAAE;AACL,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,OAAO,EAAE,cAAc;AACvB,wBAAA,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE;AACzC,qBAAA;AACJ,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,kCAAkC;oBACzC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CACtB,SAAS,GAAG,gBAAgB,EAC5B,OAAO,GAAG,EAAE,GAAG,KAAI;AACf,YAAA,IAAI;gBACA,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;AAEvC,gBAAA,IAAI,MAAM,KAAK,IAAI,EAAE;oBACjB,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnC,GAAG,CAAC,IAAI,CAAC;AACL,wBAAA,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,CAAgB,aAAA,EAAA,KAAK,CAAU,QAAA,CAAA;wBACxC,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC,MAAM;AAChD,qBAAA,CAAC,CAAC;iBACN;AAAM,qBAAA,IAAI,MAAM,KAAK,MAAM,EAAE;oBAC1B,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACrC,GAAG,CAAC,IAAI,CAAC;AACL,wBAAA,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,CAAkB,eAAA,EAAA,KAAK,CAAU,QAAA,CAAA;wBAC1C,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC,MAAM;AAChD,qBAAA,CAAC,CAAC;iBACN;AAAM,qBAAA,IAAI,MAAM,KAAK,MAAM,EAAE;AAC1B,oBAAA,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,EAAE,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC;AACL,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,OAAO,EAAE,wBAAwB;wBACjC,OAAO,EAAE,IAAI,CAAC,OAAQ,CAAC,aAAa,EAAE,CAAC,MAAM;AAChD,qBAAA,CAAC,CAAC;iBACN;qBAAM;AACH,oBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,wBAAA,KAAK,EAAE,6CAA6C;AACvD,qBAAA,CAAC,CAAC;iBACN;aACJ;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,yBAAyB;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CACtB,SAAS,GAAG,kBAAkB,EAC9B,OAAO,IAAI,EAAE,GAAG,KAAI;AAChB,YAAA,IAAI;AACA,gBAAA,MAAM,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE,2BAA2B;AACvC,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,2BAA2B;oBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CACtB,SAAS,GAAG,oBAAoB,EAChC,OAAO,GAAG,EAAE,GAAG,KAAI;AACf,YAAA,IAAI;AACA,gBAAA,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC7B,MAAM,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,OAAO,EAAE,oCAAoC;AAChD,iBAAA,CAAC,CAAC;aACN;YAAC,OAAO,KAAU,EAAE;AACjB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjB,oBAAA,KAAK,EAAE,6BAA6B;oBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,iBAAA,CAAC,CAAC;aACN;AACL,SAAC,CACJ,CAAC;KACL;AAED;;AAEG;IACI,yBAAyB,GAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;;AAG1B,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,QAAgB,EAAE,GAAW,KAAI;YAChE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAkB,eAAA,EAAA,QAAQ,CAAU,OAAA,EAAA,GAAG,CAAG,CAAA,CAAA,CAAC,CAAC;AACxE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CACX,aAAa,EACb,CAAC,QAAgB,EAAE,IAAY,EAAE,MAAc,KAAI;AAC/C,YAAA,MAAM,CAAC,KAAK,CACR,SAAS,EACT,CAAA,OAAA,EAAU,QAAQ,CAAA,aAAA,EAAgB,IAAI,CAAA,UAAA,EAAa,MAAM,CAAA,CAAA,CAAG,CAC/D,CAAC;AACN,SAAC,CACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CACX,kBAAkB,EAClB,CAAC,QAAgB,EAAE,MAAc,KAAI;YACjC,MAAM,CAAC,KAAK,CACR,SAAS,EACT,CAAU,OAAA,EAAA,QAAQ,CAAuB,oBAAA,EAAA,MAAM,CAAG,CAAA,CAAA,CACrD,CAAC;AACN,SAAC,CACJ,CAAC;;AAGF,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CACX,gBAAgB,EAChB,CAAC,MAAc,EAAE,WAAmB,KAAI;YACpC,MAAM,CAAC,KAAK,CACR,SAAS,EACT,CAAW,QAAA,EAAA,MAAM,CAAiB,cAAA,EAAA,WAAW,CAAU,QAAA,CAAA,CAC1D,CAAC;AACN,SAAC,CACJ,CAAC;;QAGF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAW,KAAI;AAC7C,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC9B,MAAM,CAAC,IAAI,CACP,SAAS,EACT,CAA4B,yBAAA,EAAA,MAAM,CAAC,OAAO,CAAE,CAAA,CAC/C,CAAC;aACL;AACL,SAAC,CAAC,CAAC;KACN;AAED;;AAEG;AACI,IAAA,MAAM,YAAY,GAAA;;AAErB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI;AACA,gBAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;AACnD,gBAAA,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,4BAA4B,EAAE,CAAC;AACpC,gBAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;aAC/D;YAAC,OAAO,KAAU,EAAE;gBACjB,MAAM,CAAC,KAAK,CACR,SAAS,EACT,8BAA8B,EAC9B,KAAK,CAAC,OAAO,CAChB,CAAC;;AAGF,gBAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,+CAA+C,CAClD,CAAC;AACF,gBAAA,IAAI;AACA,oBAAA,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;AAC1C,oBAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,+CAA+C,CAClD,CAAC;iBACL;gBAAC,OAAO,aAAkB,EAAE;oBACzB,MAAM,CAAC,KAAK,CACR,SAAS,EACT,4BAA4B,EAC5B,aAAa,CAAC,OAAO,CACxB,CAAC;oBACF,MAAM,KAAK,CAAC;iBACf;gBACD,OAAO;aACV;SACJ;;QAGD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,IAAI;AACA,YAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AACvD,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,YAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;SACnE;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,CAAC,KAAK,CACR,SAAS,EACT,kCAAkC,EAClC,KAAK,CAAC,OAAO,CAChB,CAAC;AACF,YAAA,MAAM,KAAK,CAAC;SACf;KACJ;AAED;;AAEG;AACK,IAAA,MAAM,4BAA4B,GAAA;AACtC,QAAA,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;;AAGhE,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;;QAGzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;YACf,MAAM,CAAC,KAAK,CACR,SAAS,EACT,wCAAwC,EACxC,OAAO,CACV,CAAC;;AAEN,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,GAAG,OACvC,OAAY,KACG;YACf,MAAM,CAAC,KAAK,CACR,SAAS,EACT,iDAAiD,EACjD,OAAO,CACV,CAAC;;AAEN,SAAC,CAAC;;QAGF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,GAAG,YAAW;AAC9C,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,oDAAoD,CACvD,CAAC;AACF,YAAA,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAC;AACN,SAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,GAAG,YAAW;AAC3C,YAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,iDAAiD,CACpD,CAAC;AACF,YAAA,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;AACN,SAAC,CAAC;AAEF,QAAA,MAAM,CAAC,IAAI,CACP,SAAS,EACT,mDAAmD,CACtD,CAAC;KACL;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,CAAC,QAAA,GAAoB,IAAI,EAAA;;AAE7C,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI;AACA,gBAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;gBACnD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,gBAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;aAC/D;YAAC,OAAO,KAAU,EAAE;gBACjB,MAAM,CAAC,KAAK,CACR,SAAS,EACT,6BAA6B,EAC7B,KAAK,CAAC,OAAO,CAChB,CAAC;AACF,gBAAA,MAAM,KAAK,CAAC;aACf;YACD,OAAO;SACV;;QAGD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;AAE1B,QAAA,IAAI;AACA,YAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,YAAA,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC;SAC3D;QAAC,OAAO,KAAU,EAAE;YACjB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAClE,YAAA,MAAM,KAAK,CAAC;SACf;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO;AACH,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,qBAAqB;aACjC,CAAC;SACL;AAED,QAAA,IAAI;YACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAE7C,OAAO;AACH,gBAAA,OAAO,EAAE,IAAI;gBACb,MAAM;gBACN,OAAO;AACP,gBAAA,OAAO,EAAE;oBACL,KAAK,EAAE,OAAO,CAAC,MAAM;AACrB,oBAAA,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;yBACvD,MAAM;AACX,oBAAA,IAAI,EAAE,OAAO;AAChB,iBAAA;AACD,gBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;SACL;QAAC,OAAO,KAAU,EAAE;YACjB,OAAO;AACH,gBAAA,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,KAAK,CAAC,OAAO;AACpB,gBAAA,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACtC,CAAC;SACL;KACJ;AAED;;AAEG;IACI,aAAa,GAAA;AAChB,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;KAC5C;AAED;;AAEG;IACI,gBAAgB,GAAA;QACnB,OAAO;AACH,YAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;AAC1C,YAAA,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;SACtC,CAAC;KACL;AACJ;;;;"}
|
|
@@ -1,68 +1,211 @@
|
|
|
1
|
-
// =====
|
|
1
|
+
// ===== OPTIMIZED CLUSTER CONFIGURATIONS =====
|
|
2
2
|
const DEFAULT_CLUSTER_CONFIGS = {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
workers: "auto", // Will use os.cpus().length
|
|
4
|
+
// Process Management - Enhanced for reliability
|
|
5
5
|
processManagement: {
|
|
6
6
|
respawn: true,
|
|
7
|
-
maxRestarts:
|
|
8
|
-
restartDelay: 1000,
|
|
9
|
-
gracefulShutdownTimeout:
|
|
10
|
-
killTimeout:
|
|
7
|
+
maxRestarts: 10, // Max restarts per worker per hour
|
|
8
|
+
restartDelay: 1000, // Reduced for faster recovery
|
|
9
|
+
gracefulShutdownTimeout: 48000, // Increased for complex cleanup
|
|
10
|
+
killTimeout: 15000, // Force kill timeout after graceful shutdown fails
|
|
11
11
|
zombieDetection: true,
|
|
12
|
-
memoryThreshold: "
|
|
13
|
-
cpuThreshold:
|
|
12
|
+
memoryThreshold: "1GB", // Restart worker if memory exceeded
|
|
13
|
+
cpuThreshold: 85, // Restart worker if CPU > 85% sustained
|
|
14
14
|
},
|
|
15
|
+
// Memory Management - Optimized
|
|
16
|
+
memoryManagement: {
|
|
17
|
+
enabled: true,
|
|
18
|
+
maxWorkerMemory: "1GB", // Increased from default for better performance
|
|
19
|
+
maxTotalMemory: "12GB", // Conservative total memory limit
|
|
20
|
+
memoryCheckInterval: 15000, // More frequent checks (15s)
|
|
21
|
+
memoryWarningThreshold: 70, // Earlier warning threshold
|
|
22
|
+
memoryCriticalThreshold: 85, // Lower critical threshold for safety
|
|
23
|
+
autoScaleOnMemory: true,
|
|
24
|
+
memoryLeakDetection: true,
|
|
25
|
+
garbageCollectionHint: true, // Enable GC hints
|
|
26
|
+
lowMemoryMode: false, // Disable for better performance
|
|
27
|
+
},
|
|
28
|
+
// Health Monitoring - Enhanced
|
|
15
29
|
healthCheck: {
|
|
16
30
|
enabled: true,
|
|
17
|
-
interval:
|
|
18
|
-
timeout:
|
|
19
|
-
maxFailures:
|
|
31
|
+
interval: 20000, // Check every 20 seconds
|
|
32
|
+
timeout: 8000, // 8 second timeout
|
|
33
|
+
maxFailures: 2, // Faster failover with 2 max failures
|
|
20
34
|
endpoint: "/health",
|
|
21
35
|
},
|
|
36
|
+
// Load Balancing - Optimized strategy
|
|
22
37
|
loadBalancing: {
|
|
23
|
-
strategy: "round-robin
|
|
38
|
+
strategy: "least-connections", // Better than round-robin for uneven loads
|
|
24
39
|
stickySession: false,
|
|
40
|
+
circuitBreakerThreshold: 5, // Circuit breaker after 5 failures
|
|
41
|
+
circuitBreakerTimeout: 30000, // 30 second recovery timeout
|
|
25
42
|
},
|
|
43
|
+
// Inter-Process Communication - Enhanced
|
|
26
44
|
ipc: {
|
|
27
45
|
enabled: true,
|
|
28
|
-
broadcast: true,
|
|
46
|
+
broadcast: true, // Enable broadcasting to all workers
|
|
47
|
+
messageQueue: {
|
|
48
|
+
maxSize: 1000, // Queue size limit
|
|
49
|
+
timeout: 20000, // 20 second timeout
|
|
50
|
+
},
|
|
51
|
+
// Custom events can be added as needed
|
|
29
52
|
},
|
|
53
|
+
// Auto Scaling - Fine-tuned
|
|
30
54
|
autoScaling: {
|
|
31
55
|
enabled: true,
|
|
32
|
-
minWorkers:
|
|
33
|
-
maxWorkers:
|
|
34
|
-
cooldownPeriod: 300000,
|
|
35
|
-
scaleStep: 1,
|
|
56
|
+
minWorkers: 2, // Minimum workers for availability
|
|
57
|
+
maxWorkers: 16, // Increased maximum for scalability
|
|
36
58
|
scaleUpThreshold: {
|
|
37
|
-
cpu:
|
|
38
|
-
memory:
|
|
39
|
-
responseTime:
|
|
40
|
-
queueLength:
|
|
59
|
+
cpu: 65, // Scale up if CPU > 65%
|
|
60
|
+
memory: 75, // Scale up if memory > 75%
|
|
61
|
+
responseTime: 800, // Scale up if response time > 800ms
|
|
62
|
+
queueLength: 30, // Scale up if queue > 30 requests
|
|
41
63
|
},
|
|
42
64
|
scaleDownThreshold: {
|
|
43
|
-
cpu:
|
|
44
|
-
memory:
|
|
45
|
-
idleTime:
|
|
65
|
+
cpu: 25, // Scale down if CPU < 25%
|
|
66
|
+
memory: 35, // Scale down if memory < 35%
|
|
67
|
+
idleTime: 15, // Scale down after 15 minutes idle
|
|
46
68
|
},
|
|
69
|
+
cooldownPeriod: 180000, // 3 minute cooldown between scaling
|
|
70
|
+
scaleStep: 2, // Add/remove 2 workers at a time
|
|
47
71
|
},
|
|
72
|
+
// Resource Management - Comprehensive
|
|
73
|
+
resources: {
|
|
74
|
+
maxMemoryPerWorker: "1GB",
|
|
75
|
+
maxCpuPerWorker: 80, // 80% CPU per worker
|
|
76
|
+
priorityLevel: "high",
|
|
77
|
+
fileDescriptorLimit: 4096,
|
|
78
|
+
networkConnections: {
|
|
79
|
+
max: 1000,
|
|
80
|
+
timeout: 30000,
|
|
81
|
+
},
|
|
82
|
+
// Enhanced Memory Management
|
|
83
|
+
memoryManagement: {
|
|
84
|
+
enabled: true,
|
|
85
|
+
maxTotalMemory: "12GB",
|
|
86
|
+
memoryCheckInterval: 15000,
|
|
87
|
+
memoryWarningThreshold: 70,
|
|
88
|
+
memoryCriticalThreshold: 85,
|
|
89
|
+
autoScaleOnMemory: true,
|
|
90
|
+
memoryLeakDetection: true,
|
|
91
|
+
garbageCollectionHint: true,
|
|
92
|
+
lowMemoryMode: false,
|
|
93
|
+
memoryReservation: "1GB", // Reserve 1GB for system
|
|
94
|
+
swapUsageLimit: 5, // Max 5% swap usage
|
|
95
|
+
},
|
|
96
|
+
// Performance Optimization
|
|
97
|
+
performanceOptimization: {
|
|
98
|
+
enabled: true,
|
|
99
|
+
lowMemoryMode: false,
|
|
100
|
+
reducedLogging: false, // Keep full logging for debugging
|
|
101
|
+
compactMetrics: true,
|
|
102
|
+
lazyWorkerInit: false, // Pre-initialize for faster response
|
|
103
|
+
workerPooling: true,
|
|
104
|
+
memoryPooling: true,
|
|
105
|
+
disableDebugFeatures: true, // Disable in production
|
|
106
|
+
minimalFootprint: false, // Prioritize performance over memory
|
|
107
|
+
efficientDataStructures: true,
|
|
108
|
+
},
|
|
109
|
+
// Resource Limits Enforcement
|
|
110
|
+
enforcement: {
|
|
111
|
+
enabled: true,
|
|
112
|
+
enforceHardLimits: true,
|
|
113
|
+
softLimitWarnings: true,
|
|
114
|
+
gracefulDegradation: false, // Hard limits for predictability
|
|
115
|
+
resourceThrottling: false,
|
|
116
|
+
alertOnLimitReached: true,
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
// Monitoring - Enhanced observability
|
|
48
120
|
monitoring: {
|
|
49
121
|
enabled: true,
|
|
50
122
|
collectMetrics: true,
|
|
51
|
-
metricsInterval:
|
|
52
|
-
logLevel: "info",
|
|
123
|
+
metricsInterval: 30000, // Collect metrics every 30 seconds
|
|
124
|
+
logLevel: "info", // Balanced logging level
|
|
53
125
|
logWorkerEvents: true,
|
|
54
|
-
logPerformance: true,
|
|
126
|
+
logPerformance: true, // Enable performance logging
|
|
127
|
+
// customMetrics can be added as needed
|
|
55
128
|
},
|
|
129
|
+
// Error Handling - Robust recovery
|
|
56
130
|
errorHandling: {
|
|
57
131
|
uncaughtException: "restart",
|
|
58
|
-
unhandledRejection: "restart",
|
|
59
|
-
errorThreshold:
|
|
132
|
+
unhandledRejection: "restart", // Restart for both types
|
|
133
|
+
errorThreshold: 3, // Max 3 errors per hour before restart
|
|
134
|
+
crashRecovery: {
|
|
135
|
+
enabled: true,
|
|
136
|
+
saveState: true,
|
|
137
|
+
stateStorage: "memory", // Use memory for fast recovery
|
|
138
|
+
},
|
|
60
139
|
},
|
|
140
|
+
// Security - Production ready
|
|
61
141
|
security: {
|
|
62
142
|
isolateWorkers: true,
|
|
143
|
+
sandboxMode: true, // Enable sandboxing
|
|
63
144
|
resourceLimits: true,
|
|
64
145
|
preventForkBombs: true,
|
|
65
|
-
|
|
146
|
+
workerAuthentication: false, // Can be enabled if needed
|
|
147
|
+
encryptIPC: true, // Enable IPC encryption
|
|
148
|
+
},
|
|
149
|
+
// Development Features - Disabled for production
|
|
150
|
+
development: {
|
|
151
|
+
hotReload: false,
|
|
152
|
+
debugMode: false,
|
|
153
|
+
profiling: false,
|
|
154
|
+
// inspectPorts can be added for debugging
|
|
155
|
+
},
|
|
156
|
+
// Resilience Features - Enhanced fault tolerance
|
|
157
|
+
resilience: {
|
|
158
|
+
circuitBreaker: {
|
|
159
|
+
enabled: true,
|
|
160
|
+
failureThreshold: 5,
|
|
161
|
+
recoveryTimeout: 30000,
|
|
162
|
+
halfOpenRequests: 3,
|
|
163
|
+
},
|
|
164
|
+
bulkhead: {
|
|
165
|
+
enabled: true,
|
|
166
|
+
maxConcurrentRequests: 100,
|
|
167
|
+
queueSize: 200,
|
|
168
|
+
},
|
|
169
|
+
timeout: {
|
|
170
|
+
enabled: true,
|
|
171
|
+
requestTimeout: 30000,
|
|
172
|
+
healthCheckTimeout: 8000,
|
|
173
|
+
},
|
|
174
|
+
retryPolicy: {
|
|
175
|
+
enabled: true,
|
|
176
|
+
maxRetries: 3,
|
|
177
|
+
backoffStrategy: "exponential",
|
|
178
|
+
baseDelay: 1000,
|
|
179
|
+
maxDelay: 30000,
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
// Advanced Features - Production optimizations
|
|
183
|
+
advanced: {
|
|
184
|
+
stateSync: {
|
|
185
|
+
enabled: false, // Disable unless needed
|
|
186
|
+
strategy: "redis",
|
|
187
|
+
syncInterval: 60000,
|
|
188
|
+
},
|
|
189
|
+
deployment: {
|
|
190
|
+
rollingUpdates: true,
|
|
191
|
+
maxUnavailable: 1,
|
|
192
|
+
maxSurge: 2,
|
|
193
|
+
healthCheckGracePeriod: 30000,
|
|
194
|
+
},
|
|
195
|
+
networking: {
|
|
196
|
+
tcpNoDelay: true,
|
|
197
|
+
keepAlive: true,
|
|
198
|
+
keepAliveInitialDelay: 30000,
|
|
199
|
+
},
|
|
200
|
+
},
|
|
201
|
+
// Persistence - Optional state persistence
|
|
202
|
+
persistence: {
|
|
203
|
+
enabled: false, // Enable only if state persistence is needed
|
|
204
|
+
type: "memory",
|
|
205
|
+
memory: {
|
|
206
|
+
maxSize: 100 * 1024 * 1024, // 100MB max memory storage
|
|
207
|
+
ttl: 3600000, // 1 hour TTL
|
|
208
|
+
},
|
|
66
209
|
},
|
|
67
210
|
};
|
|
68
211
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cluster.config.js","sources":["../../../../../src/server/const/Cluster.config.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cluster.config.js","sources":["../../../../../src/server/const/Cluster.config.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|