- constructor (
- worker: Worker,
- workerType: WorkerType,
- tasksQueueBackPressureSize: number
- ) {
- if (worker == null) {
- throw new TypeError('Cannot construct a worker node without a worker')
- }
- if (workerType == null) {
- throw new TypeError(
- 'Cannot construct a worker node without a worker type'
- )
- }
- if (tasksQueueBackPressureSize == null) {
- throw new TypeError(
- 'Cannot construct a worker node without a tasks queue back pressure size'
- )
- }
- if (!Number.isSafeInteger(tasksQueueBackPressureSize)) {
- throw new TypeError(
- 'Cannot construct a worker node with a tasks queue back pressure size that is not an integer'
- )
- }
- this.worker = worker
- this.info = this.initWorkerInfo(worker, workerType)
- if (workerType === WorkerTypes.thread) {
+ constructor (type: WorkerType, filePath: string, opts: WorkerNodeOptions) {
+ super()
+ checkWorkerNodeArguments(type, filePath, opts)
+ this.worker = createWorker<Worker>(type, filePath, {
+ env: opts.env,
+ workerOptions: opts.workerOptions,
+ })
+ this.info = this.initWorkerInfo(this.worker)
+ this.usage = this.initWorkerUsage()
+ if (this.info.type === WorkerTypes.thread) {