X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fwebsocket-server-pool%2Fws-hybrid%2Fsrc%2Fmain.ts;h=400f0beed3e2a790fd8306e6f70f183f36819213;hb=HEAD;hp=b9e48bdd2ee194abf47d6d1b69eddd3dc134100d;hpb=1c73490dc3186af3546e1bca17113007dbb045ef;p=poolifier.git diff --git a/examples/typescript/websocket-server-pool/ws-hybrid/src/main.ts b/examples/typescript/websocket-server-pool/ws-hybrid/src/main.ts index b9e48bdd..400f0bee 100644 --- a/examples/typescript/websocket-server-pool/ws-hybrid/src/main.ts +++ b/examples/typescript/websocket-server-pool/ws-hybrid/src/main.ts @@ -1,7 +1,9 @@ import { dirname, extname, join } from 'node:path' import { fileURLToPath } from 'node:url' -import { FixedClusterPool, availableParallelism } from 'poolifier' -import { type ClusterWorkerData, type ClusterWorkerResponse } from './types.js' + +import { availableParallelism, FixedClusterPool } from 'poolifier' + +import type { ClusterWorkerData, ClusterWorkerResponse } from './types.js' const webSocketServerWorkerFile = join( dirname(fileURLToPath(import.meta.url)), @@ -17,30 +19,34 @@ const pool = new FixedClusterPool( Math.round(availableParallelism() / 2), webSocketServerWorkerFile, { + enableEvents: false, onlineHandler: () => { pool .execute({ port: 8080, - maxWorkers: Math.round(availableParallelism() / 4), + maxWorkers: + Math.round(availableParallelism() / 4) < 1 + ? 1 + : Math.round(availableParallelism() / 4), workerFile: requestHandlerWorkerFile, enableTasksQueue: true, tasksQueueOptions: { - concurrency: 8 + concurrency: 8, }, errorHandler: (e: Error) => { console.error('Thread worker error:', e) - } + }, }) - .then((response) => { + .then(response => { if (response.status) { console.info( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `WebSocket server is listening in cluster worker on port ${response.port}` + `WebSocket server is listening in cluster worker on port ${response.port?.toString()}` ) } - return null + return undefined }) - .catch((error) => { + .catch((error: unknown) => { console.error( 'WebSocket server failed to start in cluster worker:', error @@ -49,6 +55,6 @@ const pool = new FixedClusterPool( }, errorHandler: (e: Error) => { console.error('Cluster worker error', e) - } + }, } )