super(type)
this.checkWorkerOptions(this.opts)
this.checkTaskFunctions(taskFunctions)
- if (!this.isMain) {
+ if (
+ !this.isMain &&
+ (this.opts.maxInactiveTime ?? DEFAULT_MAX_INACTIVE_TIME) > 0
+ ) {
this.lastTaskTimestamp = performance.now()
this.aliveInterval = setInterval(
this.checkAlive.bind(this),
): void {
try {
const startTimestamp = performance.now()
+ const waitTime = startTimestamp - (message.submissionTimestamp ?? 0)
const res = fn(message.data)
const runTime = performance.now() - startTimestamp
this.sendToMainWorker({
data: res,
id: message.id,
- runTime
+ runTime,
+ waitTime
})
} catch (e) {
const err = this.handleError(e as Error)
message: MessageValue<Data>
): void {
const startTimestamp = performance.now()
+ const waitTime = startTimestamp - (message.submissionTimestamp ?? 0)
fn(message.data)
.then(res => {
const runTime = performance.now() - startTimestamp
this.sendToMainWorker({
data: res,
id: message.id,
- runTime
+ runTime,
+ waitTime
})
return null
})
name = name ?? DEFAULT_FUNCTION_NAME
const fn = this.taskFunctions.get(name)
if (fn == null) {
- throw new Error(`Task function "${name}" not found`)
+ throw new Error(`Task function '${name}' not found`)
}
return fn
}