repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git]
/
src
/
worker
/
WorkerDynamicPool.ts
diff --git
a/src/worker/WorkerDynamicPool.ts
b/src/worker/WorkerDynamicPool.ts
index c828c0a9e4ac71d6c791c85afb6490dd827bdccb..9527d67b60bd9b68ff81d4c96b8b415af6d30b61 100644
(file)
--- a/
src/worker/WorkerDynamicPool.ts
+++ b/
src/worker/WorkerDynamicPool.ts
@@
-1,8
+1,10
@@
-import { DynamicThreadPool, type PoolEmitter, type PoolInfo } from 'poolifier';
+import type { EventEmitterAsyncResource } from 'node:events';
+
+import { DynamicThreadPool, type PoolInfo } from 'poolifier';
import { WorkerAbstract } from './WorkerAbstract';
import type { WorkerData, WorkerOptions } from './WorkerTypes';
import { WorkerAbstract } from './WorkerAbstract';
import type { WorkerData, WorkerOptions } from './WorkerTypes';
-import { sleep } from './WorkerUtils';
+import {
randomizeDelay,
sleep } from './WorkerUtils';
export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
private readonly pool: DynamicThreadPool<WorkerData>;
export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
private readonly pool: DynamicThreadPool<WorkerData>;
@@
-13,7
+15,7
@@
export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
* @param workerScript -
* @param workerOptions -
*/
* @param workerScript -
* @param workerOptions -
*/
- constructor(workerScript: string, workerOptions
?
: WorkerOptions) {
+ constructor(workerScript: string, workerOptions: WorkerOptions) {
super(workerScript, workerOptions);
this.pool = new DynamicThreadPool<WorkerData>(
this.workerOptions.poolMinSize,
super(workerScript, workerOptions);
this.pool = new DynamicThreadPool<WorkerData>(
this.workerOptions.poolMinSize,
@@
-35,7
+37,7
@@
export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
return undefined;
}
return undefined;
}
- get emitter():
PoolEmitter
| undefined {
+ get emitter():
EventEmitterAsyncResource
| undefined {
return this.pool?.emitter;
}
return this.pool?.emitter;
}
@@
-54,6
+56,6
@@
export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
await this.pool.execute(elementData);
// Start element sequentially to optimize memory at startup
this.workerOptions.elementStartDelay! > 0 &&
await this.pool.execute(elementData);
// Start element sequentially to optimize memory at startup
this.workerOptions.elementStartDelay! > 0 &&
- (await sleep(
this.workerOptions.elementStartDelay!
));
+ (await sleep(
randomizeDelay(this.workerOptions.elementStartDelay!)
));
}
}
}
}