X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fwebsocket-server-pool%2Fws-cluster%2Fsrc%2Fmain.ts;h=34e2a58ba8e5fccd20da378cbbd69932bc9f47a1;hb=6bb2a64f78c7ba84e4d3690d18c2f8ca9e418069;hp=ce9eb642e48fbff04e8a168e9dd11a2a53912958;hpb=72855e9267a3268aa40be64f4cde6287e7c1c52e;p=poolifier.git diff --git a/examples/typescript/websocket-server-pool/ws-cluster/src/main.ts b/examples/typescript/websocket-server-pool/ws-cluster/src/main.ts index ce9eb642..34e2a58b 100644 --- a/examples/typescript/websocket-server-pool/ws-cluster/src/main.ts +++ b/examples/typescript/websocket-server-pool/ws-cluster/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 WorkerData, type WorkerResponse } from './types.js' + +import { availableParallelism, FixedClusterPool } from 'poolifier' + +import type { WorkerData, WorkerResponse } from './types.js' const workerFile = join( dirname(fileURLToPath(import.meta.url)), @@ -12,31 +14,27 @@ const pool = new FixedClusterPool( availableParallelism(), workerFile, { + enableEvents: false, + onlineHandler: () => { + pool + .execute({ port: 8080 }) + .then(response => { + if (response.status) { + console.info( + `WebSocket server is listening in cluster worker on port ${response.port}` + ) + } + return undefined + }) + .catch(error => { + console.error( + 'WebSocket server failed to start in cluster worker:', + error + ) + }) + }, errorHandler: (e: Error) => { - console.error(e) + console.error('Cluster worker error', e) } } ) - -// Start one ws server instance per cluster worker in the pool -for (let i = 1; i <= pool.info.maxSize; i++) { - pool - .execute({ port: 8080 }) - .then(response => { - if (response.status) { - console.info( - // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `WebSocket server is listening on worker ${i} on port ${response.port}` - ) - } else { - console.error( - `WebSocket server failed to start on worker ${i}:`, - response.error - ) - } - return null - }) - .catch(error => { - console.error(error) - }) -}