} from './worker'
import type { WorkerChoiceStrategyContext } from './selection-strategies/worker-choice-strategy-context'
+export const getDefaultTasksQueueOptions = (
+ poolMaxSize: number
+): Required<TasksQueueOptions> => {
+ return {
+ size: Math.pow(poolMaxSize, 2),
+ concurrency: 1,
+ taskStealing: true,
+ tasksStealingOnBackPressure: true,
+ tasksFinishedTimeout: 2000
+ }
+}
+
export const checkFilePath = (filePath: string): void => {
if (filePath == null) {
throw new TypeError('The worker file path must be specified')
* @param measurementStatistics - The measurement statistics to update.
* @param measurementRequirements - The measurement statistics requirements.
* @param measurementValue - The measurement value.
- * @param numberOfMeasurements - The number of measurements.
* @internal
*/
const updateMeasurementStatistics = (
>(
workerNode: IWorkerNode<Worker, Data>,
workerNodeEvent: string,
- numberOfEventsToWait: number
+ numberOfEventsToWait: number,
+ timeout: number
): Promise<number> => {
return await new Promise<number>(resolve => {
let events = 0
resolve(events)
}
})
+ if (timeout >= 0) {
+ setTimeout(() => {
+ resolve(events)
+ }, timeout)
+ }
})
}