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
Add standard deviation computation to time statistics
[e-mobility-charging-stations-simulator.git]
/
src
/
worker
/
WorkerDynamicPool.ts
diff --git
a/src/worker/WorkerDynamicPool.ts
b/src/worker/WorkerDynamicPool.ts
index d30f9b7a9bb4d2725c8f904099ee5db2af949fb9..cf22c0a8e865587166ec362431474c693f41e7c8 100644
(file)
--- a/
src/worker/WorkerDynamicPool.ts
+++ b/
src/worker/WorkerDynamicPool.ts
@@
-1,21
+1,23
@@
import { DynamicThreadPool, PoolOptions } from 'poolifier';
import { DynamicThreadPool, PoolOptions } from 'poolifier';
-import Constants from '../utils/Constants';
import Utils from '../utils/Utils';
import { Worker } from 'worker_threads';
import Utils from '../utils/Utils';
import { Worker } from 'worker_threads';
+import WorkerAbstract from './WorkerAbstract';
import { WorkerData } from '../types/Worker';
import { WorkerData } from '../types/Worker';
-import Wrk from './Wrk';
-export default class WorkerDynamicPool<T> extends W
rk
{
+export default class WorkerDynamicPool<T> extends W
orkerAbstract
{
private pool: DynamicPool;
/**
* Create a new `WorkerDynamicPool`.
*
* @param {string} workerScript
private pool: DynamicPool;
/**
* Create a new `WorkerDynamicPool`.
*
* @param {string} workerScript
+ * @param {number} min
+ * @param {number} max
+ * @param {number} workerStartDelay
*/
*/
- constructor(workerScript: string, min: number, max: number,) {
- super(workerScript);
+ constructor(workerScript: string, min: number, max: number,
workerStartDelay?: number
) {
+ super(workerScript
, workerStartDelay
);
this.pool = DynamicPool.getInstance(min, max, this.workerScript);
}
this.pool = DynamicPool.getInstance(min, max, this.workerScript);
}
@@
-24,12
+26,12
@@
export default class WorkerDynamicPool<T> extends Wrk {
}
get maxElementsPerWorker(): number {
}
get maxElementsPerWorker(): number {
- return
1
;
+ return
null
;
}
/**
*
}
/**
*
- * @return {Promise<void>}
+ * @return
s
{Promise<void>}
* @public
*/
// eslint-disable-next-line @typescript-eslint/no-empty-function
* @public
*/
// eslint-disable-next-line @typescript-eslint/no-empty-function
@@
-37,22
+39,24
@@
export default class WorkerDynamicPool<T> extends Wrk {
/**
*
/**
*
- * @return {Promise<void>}
+ * @return
s
{Promise<void>}
* @public
*/
* @public
*/
+ // eslint-disable-next-line @typescript-eslint/require-await
public async stop(): Promise<void> {
return this.pool.destroy();
}
/**
*
public async stop(): Promise<void> {
return this.pool.destroy();
}
/**
*
- * @return {Promise<void>}
+ * @param elementData
+ * @returns {Promise<void>}
* @public
*/
public async addElement(elementData: T): Promise<void> {
await this.pool.execute(elementData);
// Start worker sequentially to optimize memory at startup
* @public
*/
public async addElement(elementData: T): Promise<void> {
await this.pool.execute(elementData);
// Start worker sequentially to optimize memory at startup
- await Utils.sleep(
Constants.START_WORKER_DELAY
);
+ await Utils.sleep(
this.workerStartDelay
);
}
}
}
}