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=451fcb80b3e12ad89c9022d8b604245adae9f1c1;hb=HEAD;hp=15e5656b12abe44477a65dc7efd4a994b51663d7;hpb=d2bc8d8026164b1389822feced0f42af20552176;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 15e5656b..451fcb80 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,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 WorkerData, - type WorkerResponse +import { availableParallelism, DynamicThreadPool } from 'poolifier' + +import type { + FastifyPoolifierOptions, + WorkerData, + WorkerResponse, } 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?: WorkerData, name?: string, - transferList?: TransferListItem[] + transferList?: readonly TransferListItem[] ): Promise => await pool.execute(data, name, transferList) ) } @@ -44,5 +49,5 @@ const fastifyPoolifierPlugin: FastifyPluginCallback = ( export const fastifyPoolifier = fp(fastifyPoolifierPlugin, { fastify: '4.x', - name: 'fastify-poolifier' + name: 'fastify-poolifier', })