X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fhttp-server-pool%2Ffastify-hybrid%2Fsrc%2Ffastify-poolifier.ts;h=753f6df1872f39d879800d600780e6d598511cd6;hb=9827fb869f9c42571d5eb49e0fa6d8a0a49289b8;hp=6e3a1dbfec643759ef30aecfd767e5f9d1c40e02;hpb=93b097acefb8dfea7259bff4cb9f6c337d34db94;p=poolifier.git diff --git a/examples/typescript/http-server-pool/fastify-hybrid/src/fastify-poolifier.ts b/examples/typescript/http-server-pool/fastify-hybrid/src/fastify-poolifier.ts index 6e3a1dbf..753f6df1 100644 --- a/examples/typescript/http-server-pool/fastify-hybrid/src/fastify-poolifier.ts +++ b/examples/typescript/http-server-pool/fastify-hybrid/src/fastify-poolifier.ts @@ -1,11 +1,13 @@ -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 { - type FastifyPoolifierOptions, - type ThreadWorkerData, - type ThreadWorkerResponse +import { availableParallelism, DynamicThreadPool } from 'poolifier' + +import type { + FastifyPoolifierOptions, + ThreadWorkerData, + ThreadWorkerResponse, } from './types.js' const fastifyPoolifierPlugin: FastifyPluginCallback = ( @@ -16,15 +18,18 @@ const fastifyPoolifierPlugin: FastifyPluginCallback = ( options = { ...{ minWorkers: 1, - maxWorkers: availableParallelism() + maxWorkers: availableParallelism(), }, - ...options + ...options, } + const { workerFile, minWorkers, maxWorkers, ...poolOptions } = options const pool = new DynamicThreadPool( - options.minWorkers as number, - options.maxWorkers as number, - options.workerFile, - options + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + minWorkers!, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + maxWorkers!, + workerFile, + poolOptions ) if (!fastify.hasDecorator('pool')) { fastify.decorate('pool', pool) @@ -35,7 +40,7 @@ const fastifyPoolifierPlugin: FastifyPluginCallback = ( async ( data?: ThreadWorkerData, name?: string, - transferList?: TransferListItem[] + transferList?: readonly TransferListItem[] ): Promise => await pool.execute(data, name, transferList) ) @@ -45,5 +50,5 @@ const fastifyPoolifierPlugin: FastifyPluginCallback = ( export const fastifyPoolifier = fp(fastifyPoolifierPlugin, { fastify: '4.x', - name: 'fastify-poolifier' + name: 'fastify-poolifier', })