X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=examples%2Ftypescript%2Fwebsocket-server-pool%2Fws-hybrid%2Fsrc%2Fmain.ts;h=5cfbbf43e36e3f6fe0595bd9c1256cc8bcbf6f3e;hb=e53767e8c8bf547fc75769efe1a36232616c903b;hp=ae303015a565bce5ac8efb0fded9fba008ec3ea4;hpb=02999424382a7c531bcc2c0485d4ebbe76853d62;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 ae303015..5cfbbf43 100644 --- a/examples/typescript/websocket-server-pool/ws-hybrid/src/main.ts +++ b/examples/typescript/websocket-server-pool/ws-hybrid/src/main.ts @@ -8,25 +8,44 @@ const webSocketServerWorkerFile = join( `websocket-server-worker${extname(fileURLToPath(import.meta.url))}` ) +const requestHandlerWorkerFile = join( + dirname(fileURLToPath(import.meta.url)), + `request-handler-worker${extname(fileURLToPath(import.meta.url))}` +) + const pool = new FixedClusterPool( Math.round(availableParallelism() / 2), webSocketServerWorkerFile, { onlineHandler: () => { pool - .execute({ port: 8080 }) - .then(response => { + .execute({ + port: 8080, + maxWorkers: + Math.round(availableParallelism() / 4) < 1 + ? 1 + : Math.round(availableParallelism() / 4), + workerFile: requestHandlerWorkerFile, + enableTasksQueue: true, + tasksQueueOptions: { + concurrency: 8 + }, + errorHandler: (e: Error) => { + console.error('Thread worker error:', e) + } + }) + .then((response) => { if (response.status) { console.info( // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - `WebSocket server is listening on cluster worker on port ${response.port}` + `WebSocket server is listening in cluster worker on port ${response.port}` ) } return null }) - .catch(error => { + .catch((error) => { console.error( - 'WebSocket server failed to start on cluster worker:', + 'WebSocket server failed to start in cluster worker:', error ) })