feat: add express-hybrid-pool example
[poolifier.git] / examples / typescript / websocket-server-pool / ws-hybrid / src / websocket-server-worker.ts
index 12c2190e750d36b77a4a8aca912c62ae37711ffa..7b4aa070f591a7240d6be5e6f9c5e842398e0d0c 100644 (file)
@@ -31,22 +31,25 @@ ClusterWorkerResponse
   private static readonly startWebSocketServer = (
     workerData?: ClusterWorkerData
   ): ClusterWorkerResponse => {
-    const { port } = workerData as ClusterWorkerData
-    WebSocketServerWorker.wss = new WebSocketServer({ port }, () => {
-      console.info(
-        `⚡️[ws server]: WebSocket server is started in cluster worker at ws://localhost:${port}/`
-      )
-    })
+    const { port, workerFile, minWorkers, maxWorkers } =
+      workerData as ClusterWorkerData
 
     WebSocketServerWorker.requestHandlerPool = new DynamicThreadPool<
     ThreadWorkerData<DataPayload>,
     ThreadWorkerResponse<DataPayload>
     >(
-      workerData?.minWorkers ?? 1,
-      workerData?.maxWorkers ?? availableParallelism(),
-      workerData?.workerFile as string
+      minWorkers ?? 1,
+      maxWorkers ?? availableParallelism(),
+      workerFile,
+      workerData
     )
 
+    WebSocketServerWorker.wss = new WebSocketServer({ port }, () => {
+      console.info(
+        `⚡️[ws server]: WebSocket server is started in cluster worker at ws://localhost:${port}/`
+      )
+    })
+
     WebSocketServerWorker.wss.on('connection', (ws) => {
       ws.on('error', console.error)
       ws.on('message', (message: RawData) => {