type WorkerUsage
} from './worker'
+/**
+ * Worker node.
+ *
+ * @typeParam Worker - Type of worker.
+ * @typeParam Data - Type of data sent to the worker. This can only be structured-cloneable data.
+ */
export class WorkerNode<Worker extends IWorker, Data = unknown>
implements IWorkerNode<Worker, Data> {
public readonly worker: Worker
public usage: WorkerUsage
private readonly tasksQueue: Queue<Task<Data>>
+ /**
+ * Constructs a new worker node.
+ *
+ * @param worker - The worker.
+ * @param workerType - The worker type.
+ */
constructor (worker: Worker, workerType: WorkerType) {
this.worker = worker
this.info = this.initWorkerInfo(worker, workerType)
id: this.getWorkerId(worker, workerType),
type: workerType,
dynamic: false,
- started: true
+ ready: false
}
}
const getTasksQueueSize = (): number => {
return this.tasksQueueSize()
}
- const getTasksMaxQueueSize = (): number => {
+ const getTasksQueueMaxSize = (): number => {
return this.tasksQueueMaxSize()
}
return {
return getTasksQueueSize()
},
get maxQueued (): number {
- return getTasksMaxQueueSize()
+ return getTasksQueueMaxSize()
},
failed: 0
},
* Gets the worker id.
*
* @param worker - The worker.
+ * @param workerType - The worker type.
* @returns The worker id.
*/
private getWorkerId (