Merge dependabot/npm_and_yarn/examples/typescript/websocket-server-pool/ws-worker_thr...
[poolifier.git] / examples / typescript / pool.ts
index 54b437ab31b2f1d7785439c5ce9007167e554331..3d9d9e6f482723cdb634e98bd02a9bbd46df3314 100644 (file)
@@ -1,4 +1,5 @@
-import { join } from 'path'
+import { dirname, extname, join } from 'node:path'
+import { fileURLToPath } from 'node:url'
 import type { MyData, MyResponse } from './worker'
 import {
   DynamicThreadPool,
@@ -6,9 +7,14 @@ import {
   availableParallelism
 } from 'poolifier'
 
+const workerFile = join(
+  dirname(fileURLToPath(import.meta.url)),
+  `worker${extname(fileURLToPath(import.meta.url))}`
+)
+
 export const fixedPool = new FixedThreadPool<MyData, Promise<MyResponse>>(
   availableParallelism(),
-  join(__dirname, 'worker.js'),
+  workerFile,
   {
     errorHandler: (e: Error) => {
       console.error(e)
@@ -22,7 +28,7 @@ export const fixedPool = new FixedThreadPool<MyData, Promise<MyResponse>>(
 export const dynamicPool = new DynamicThreadPool<MyData, Promise<MyResponse>>(
   Math.floor(availableParallelism() / 2),
   availableParallelism(),
-  join(__dirname, 'worker.js'),
+  workerFile,
   {
     errorHandler: (e: Error) => {
       console.error(e)