Merge pull request #1778 from poolifier/combined-prs-branch
[poolifier.git] / examples / typescript / websocket-server-pool / ws-hybrid / src / main.ts
index d9e827cbfa262f83613cb01c8201b70efdfec4a7..177d7d3b5813f04ff10dd8812f8eafeec1099407 100644 (file)
@@ -1,7 +1,7 @@
 import { dirname, extname, join } from 'node:path'
 import { fileURLToPath } from 'node:url'
 import { FixedClusterPool, availableParallelism } from 'poolifier'
-import { type ClusterWorkerData, type ClusterWorkerResponse } from './types.js'
+import type { ClusterWorkerData, ClusterWorkerResponse } from './types.js'
 
 const webSocketServerWorkerFile = join(
   dirname(fileURLToPath(import.meta.url)),
@@ -17,11 +17,15 @@ const pool = new FixedClusterPool<ClusterWorkerData, ClusterWorkerResponse>(
   Math.round(availableParallelism() / 2),
   webSocketServerWorkerFile,
   {
+    enableEvents: false,
     onlineHandler: () => {
       pool
         .execute({
           port: 8080,
-          maxWorkers: Math.round(availableParallelism() / 2),
+          maxWorkers:
+            Math.round(availableParallelism() / 4) < 1
+              ? 1
+              : Math.round(availableParallelism() / 4),
           workerFile: requestHandlerWorkerFile,
           enableTasksQueue: true,
           tasksQueueOptions: {
@@ -38,7 +42,7 @@ const pool = new FixedClusterPool<ClusterWorkerData, ClusterWorkerResponse>(
               `WebSocket server is listening in cluster worker on port ${response.port}`
             )
           }
-          return null
+          return undefined
         })
         .catch(error => {
           console.error(