build(deps-dev): apply updates
[poolifier.git] / examples / typescript / pool.ts
index c55c4e96557dc8fcb400847745b0ac2c5ee014c7..1be0691a7aa7bf42423530d25d82994e4ce7fa6e 100644 (file)
@@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url'
 import {
   availableParallelism,
   DynamicThreadPool,
-  FixedThreadPool
+  FixedThreadPool,
 } from 'poolifier'
 
 import type { MyData, MyResponse } from './worker.js'
@@ -14,33 +14,37 @@ const workerFile = join(
   `worker${extname(fileURLToPath(import.meta.url))}`
 )
 
-export const fixedPool = new FixedThreadPool<MyData, MyResponse>(
+const fixedPool = new FixedThreadPool<MyData, MyResponse>(
   availableParallelism(),
   workerFile,
   {
+    onlineHandler: () => {
+      console.info('Worker is online')
+    },
     errorHandler: (e: Error) => {
       console.error(e)
     },
-    onlineHandler: () => {
-      console.info('Worker is online')
-    }
   }
 )
 
-export const dynamicPool = new DynamicThreadPool<MyData, MyResponse>(
+await fixedPool.execute()
+
+const dynamicPool = new DynamicThreadPool<MyData, MyResponse>(
   Math.floor(availableParallelism() / 2),
   availableParallelism(),
   workerFile,
   {
+    onlineHandler: () => {
+      console.info('Worker is online')
+    },
     errorHandler: (e: Error) => {
       console.error(e)
     },
-    onlineHandler: () => {
-      console.info('Worker is online')
-    }
   }
 )
 
+await dynamicPool.execute()
+
 // eslint-disable-next-line @typescript-eslint/no-misused-promises
 setTimeout(async () => {
   await fixedPool.destroy()