this.checkWorkerOptions(this.opts)
this.lastTaskTimestamp = Date.now()
// Keep the worker active
this.checkWorkerOptions(this.opts)
this.lastTaskTimestamp = Date.now()
// Keep the worker active
this.aliveInterval = setInterval(
this.checkAlive.bind(this),
(this.opts.maxInactiveTime ?? DEFAULT_MAX_INACTIVE_TIME) / 2
this.aliveInterval = setInterval(
this.checkAlive.bind(this),
(this.opts.maxInactiveTime ?? DEFAULT_MAX_INACTIVE_TIME) / 2
- this.sendToMainWorker({ data: res, id: value.id })
+ const taskRunTime = Date.now() - startTaskTimestamp
+ this.sendToMainWorker({ data: res, id: value.id, taskRunTime })
} catch (e) {
const err = this.handleError(e as Error)
this.sendToMainWorker({ error: err, id: value.id })
} catch (e) {
const err = this.handleError(e as Error)
this.sendToMainWorker({ error: err, id: value.id })
fn: (data?: Data) => Promise<Response>,
value: MessageValue<Data>
): void {
fn: (data?: Data) => Promise<Response>,
value: MessageValue<Data>
): void {
- this.sendToMainWorker({ data: res, id: value.id })
+ const taskRunTime = Date.now() - startTaskTimestamp
+ this.sendToMainWorker({ data: res, id: value.id, taskRunTime })