X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=examples%2Ftypescript%2Fwebsocket-server-pool%2Fws-hybrid%2Fsrc%2Fwebsocket-server-worker.ts;h=e52f0c06c9331ee011b17b75c8724974c8329a3b;hb=78338da83a35536a6fa6066a1d6feba4c7dc90b3;hp=ec6a3d18736f119cb27f5e32988fe464f5d2d3d4;hpb=a7263cc7976423d318bd3a82d1a60b2f39b6e2c5;p=poolifier.git diff --git a/examples/typescript/websocket-server-pool/ws-hybrid/src/websocket-server-worker.ts b/examples/typescript/websocket-server-pool/ws-hybrid/src/websocket-server-worker.ts index ec6a3d18..e52f0c06 100644 --- a/examples/typescript/websocket-server-pool/ws-hybrid/src/websocket-server-worker.ts +++ b/examples/typescript/websocket-server-pool/ws-hybrid/src/websocket-server-worker.ts @@ -1,9 +1,10 @@ import { + availableParallelism, ClusterWorker, - DynamicThreadPool, - availableParallelism + DynamicThreadPool } from 'poolifier' import { type RawData, WebSocketServer } from 'ws' + import { type ClusterWorkerData, type ClusterWorkerResponse, @@ -32,7 +33,7 @@ ClusterWorkerResponse workerData?: ClusterWorkerData ): ClusterWorkerResponse => { const { port, workerFile, minWorkers, maxWorkers, ...poolOptions } = - workerData as ClusterWorkerData + workerData! WebSocketServerWorker.requestHandlerPool = new DynamicThreadPool< ThreadWorkerData, @@ -68,7 +69,7 @@ ClusterWorkerResponse data: response.data }) ) - return null + return undefined }) .catch(emptyFunction) break @@ -77,12 +78,15 @@ ClusterWorkerResponse .execute({ data }, 'factorial') .then(response => { ws.send( - JSON.stringify({ - type: MessageType.factorial, - data: response.data - }) + JSON.stringify( + { + type: MessageType.factorial, + data: response.data + }, + (_, v) => (typeof v === 'bigint' ? v.toString() : v) + ) ) - return null + return undefined }) .catch(emptyFunction) break