X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fhttp-server-pool%2Ffastify-worker_threads%2Fsrc%2Ffastify-poolifier.ts;h=450a2aeaf2c7fda086aa19d117c5af5c20636ed2;hb=4a6ebc420a17984b9425d22802daaf7a2a778c83;hp=50668da031705190e5f7611870c51fb2f5fffc7f;hpb=93b097acefb8dfea7259bff4cb9f6c337d34db94;p=poolifier.git diff --git a/examples/typescript/http-server-pool/fastify-worker_threads/src/fastify-poolifier.ts b/examples/typescript/http-server-pool/fastify-worker_threads/src/fastify-poolifier.ts index 50668da0..450a2aea 100644 --- a/examples/typescript/http-server-pool/fastify-worker_threads/src/fastify-poolifier.ts +++ b/examples/typescript/http-server-pool/fastify-worker_threads/src/fastify-poolifier.ts @@ -1,7 +1,9 @@ -import type { TransferListItem } from 'worker_threads' -import { DynamicThreadPool, availableParallelism } from 'poolifier' -import { type FastifyPluginCallback } from 'fastify' +import type { TransferListItem } from 'node:worker_threads' + +import type { FastifyPluginCallback } from 'fastify' import fp from 'fastify-plugin' +import { availableParallelism, DynamicThreadPool } from 'poolifier' + import { type FastifyPoolifierOptions, type WorkerData, @@ -20,11 +22,12 @@ const fastifyPoolifierPlugin: FastifyPluginCallback = ( }, ...options } + const { workerFile, minWorkers, maxWorkers, ...poolOptions } = options const pool = new DynamicThreadPool( - options.minWorkers as number, - options.maxWorkers as number, - options.workerFile, - options + minWorkers!, + maxWorkers!, + workerFile, + poolOptions ) if (!fastify.hasDecorator('pool')) { fastify.decorate('pool', pool) @@ -35,10 +38,11 @@ const fastifyPoolifierPlugin: FastifyPluginCallback = ( async ( data?: WorkerData, name?: string, - transferList?: TransferListItem[] + transferList?: readonly TransferListItem[] ): Promise => await pool.execute(data, name, transferList) ) } + done() } export const fastifyPoolifier = fp(fastifyPoolifierPlugin, {