refactor: cleanup error messages in TS examples
[poolifier.git] / examples / typescript / websocket-server-pool / ws-cluster / src / main.ts
index ce9eb642e48fbff04e8a168e9dd11a2a53912958..ad58bd20ccb8806f2954da84f46b82886f9dd71c 100644 (file)
@@ -12,31 +12,27 @@ const pool = new FixedClusterPool<WorkerData, WorkerResponse>(
   availableParallelism(),
   workerFile,
   {
+    onlineHandler: () => {
+      pool
+        .execute({ port: 8080 })
+        .then(response => {
+          if (response.status) {
+            console.info(
+              // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
+              `WebSocket server is listening in cluster worker on port ${response.port}`
+            )
+          }
+          return null
+        })
+        .catch(error => {
+          console.error(
+            'WebSocket server failed to start in cluster worker:',
+            error
+          )
+        })
+    },
     errorHandler: (e: Error) => {
-      console.error(e)
+      console.error('Cluster worker error', e)
     }
   }
 )
-
-// Start one ws server instance per cluster worker in the pool
-for (let i = 1; i <= pool.info.maxSize; i++) {
-  pool
-    .execute({ port: 8080 })
-    .then(response => {
-      if (response.status) {
-        console.info(
-          // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
-          `WebSocket server is listening on worker ${i} on port ${response.port}`
-        )
-      } else {
-        console.error(
-          `WebSocket server failed to start on worker ${i}:`,
-          response.error
-        )
-      }
-      return null
-    })
-    .catch(error => {
-      console.error(error)
-    })
-}