fix: fix formatting issue.
[poolifier.git] / examples / typescript / http-server-pool / fastify-cluster / src / main.ts
index 0f1b4bf33885c44fe3d71a2fda2afc1b2d588e43..88167a3c091cdd8ee225b53d160e0ac5983a3d3b 100644 (file)
@@ -12,28 +12,24 @@ 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
+              `Fastify is listening in cluster worker on port ${response.port}`
+            )
+          }
+          return null
+        })
+        .catch(error => {
+          console.error('Fastify failed to start in cluster worker:', error)
+        })
+    },
     errorHandler: (e: Error) => {
-      console.error(e)
+      console.error('Cluster worker error:', e)
     }
   }
 )
-
-// Start one fastify 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
-          `Fastify is listening on worker ${i} on port ${response.port}`
-        )
-      } else {
-        console.error(`Fastify failed to start on worker ${i}:`, response.error)
-      }
-      return null
-    })
-    .catch(error => {
-      console.error(error)
-    })
-}