diff --git a/projects/solidify-frontend/src/lib/server/server.ts b/projects/solidify-frontend/src/lib/server/server.ts index ed43a134e36f8aebab979f703ea4fb131c3d874c..a9e4dcf1d1d43918bfd74257e3700df556d49dd0 100644 --- a/projects/solidify-frontend/src/lib/server/server.ts +++ b/projects/solidify-frontend/src/lib/server/server.ts @@ -78,6 +78,7 @@ export class SsrServer { private readonly _pool: FixedThreadPool | DynamicThreadPool; // build:comment:end // build:uncomment:start + // // private readonly _pool: any; // build:uncomment:end private readonly _mapWorkerPendingProcess: MappingObject<string, string>; // Key = cacheKey / Value = workerId @@ -99,34 +100,19 @@ export class SsrServer { private _initPoolThread(): any { const workerPath = this._nodeTools.join(this._serverEnvironment.ssrWorkerLocation, "main.js"); - - const threadPoolOptions: ThreadPoolOptions = { - enableEvents: true, - enableTasksQueue: true, - workerOptions: { - transferList: this._transferList, - }, - tasksQueueOptions: { - concurrency: this._serverEnvironment.threadPoolQueueConcurrency, - size: this._serverEnvironment.threadPoolQueueSize, - }, - messageHandler: message => this._logger.verbose("Worker handle a message: " + message), - errorHandler: error => this._logger.error("Worker handle an error: " + error), - onlineHandler: () => this._logger.info("Worker is online"), - }; let pool; if (this._serverEnvironment.threadPoolMode === "Dynamic") { pool = new this._nodeTools.poolifier.DynamicThreadPool( this._serverEnvironment.threadPoolInitialWorker ?? Math.floor(this._nodeTools.poolifier.availableParallelism() / 2), this._serverEnvironment.threadPoolMaxWorker ?? this._nodeTools.poolifier.availableParallelism(), workerPath, - threadPoolOptions, + this._getThreadPoolOptions(), ); } else { pool = new this._nodeTools.poolifier.FixedThreadPool( this._serverEnvironment.threadPoolInitialWorker ?? this._nodeTools.poolifier.availableParallelism(), workerPath, - threadPoolOptions, + this._getThreadPoolOptions(), ); } @@ -145,6 +131,28 @@ export class SsrServer { return pool; } + // build:comment:start + private _getThreadPoolOptions(): ThreadPoolOptions { + // build:comment:end + // build:uncomment:start + // private _getThreadPoolOptions(): any { + // build:uncomment:end + return { + enableEvents: true, + enableTasksQueue: true, + workerOptions: { + transferList: this._transferList, + }, + tasksQueueOptions: { + concurrency: this._serverEnvironment.threadPoolQueueConcurrency, + size: this._serverEnvironment.threadPoolQueueSize, + }, + messageHandler: message => this._logger.verbose("Worker handle a message: " + message), + errorHandler: error => this._logger.error("Worker handle an error: " + error), + onlineHandler: () => this._logger.info("Worker is online"), + }; + } + private _workerMessage(message: any, portId: number): void { const cacheKey = message?.data; if (isNotNullNorUndefinedNorWhiteString(cacheKey)) {