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(ci): fail if pnpm lockfile is not up2date
[e-mobility-charging-stations-simulator.git]
/
src
/
worker
/
WorkerDynamicPool.ts
diff --git
a/src/worker/WorkerDynamicPool.ts
b/src/worker/WorkerDynamicPool.ts
index c828c0a9e4ac71d6c791c85afb6490dd827bdccb..a5a7fa0c8b22cc9f7c07e4d409a8ffd51005eaad 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 { EventEmitter } 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,8
+37,8
@@
export class WorkerDynamicPool extends WorkerAbstract<WorkerData> {
return undefined;
}
return undefined;
}
- get emitter():
Pool
Emitter | undefined {
- return this.pool?.emitter;
+ get emitter():
Event
Emitter | undefined {
+ return this.pool?.emitter
as EventEmitter
;
}
/** @inheritDoc */
}
/** @inheritDoc */
@@
-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!)
));
}
}
}
}