X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fworker%2Fabstract-worker.ts;h=91a45e94b0f36c568326460891332d61d7de0731;hb=241f23c2f9cfec2259c11f0a223116aca357317b;hp=2afd6f3486a1103347a258c575cece7773e3c4d3;hpb=0e05c4dc968e27cf71ef2ab266feb57d9d1bade9;p=poolifier.git diff --git a/src/worker/abstract-worker.ts b/src/worker/abstract-worker.ts index 2afd6f34..91a45e94 100644 --- a/src/worker/abstract-worker.ts +++ b/src/worker/abstract-worker.ts @@ -9,8 +9,11 @@ import type { WorkerSyncFunction } from '../utility-types' import { EMPTY_FUNCTION, isPlainObject } from '../utils' -import type { KillBehavior, WorkerOptions } from './worker-options' -import { KillBehaviors } from './worker-options' +import { + type KillBehavior, + KillBehaviors, + type WorkerOptions +} from './worker-options' const DEFAULT_FUNCTION_NAME = 'default' const DEFAULT_MAX_INACTIVE_TIME = 60000 @@ -71,10 +74,7 @@ export abstract class AbstractWorker< super(type) this.checkWorkerOptions(this.opts) this.checkTaskFunctions(taskFunctions) - if ( - !this.isMain && - (this.opts.maxInactiveTime ?? DEFAULT_MAX_INACTIVE_TIME) > 0 - ) { + if (!this.isMain) { this.lastTaskTimestamp = performance.now() this.aliveInterval = setInterval( this.checkAlive.bind(this), @@ -215,13 +215,17 @@ export abstract class AbstractWorker< const runTime = performance.now() - startTimestamp this.sendToMainWorker({ data: res, - id: message.id, runTime, - waitTime + waitTime, + id: message.id }) } catch (e) { const err = this.handleError(e as Error) - this.sendToMainWorker({ error: err, id: message.id }) + this.sendToMainWorker({ + error: err, + errorData: message.data, + id: message.id + }) } finally { !this.isMain && (this.lastTaskTimestamp = performance.now()) } @@ -244,15 +248,19 @@ export abstract class AbstractWorker< const runTime = performance.now() - startTimestamp this.sendToMainWorker({ data: res, - id: message.id, runTime, - waitTime + waitTime, + id: message.id }) return null }) .catch(e => { const err = this.handleError(e as Error) - this.sendToMainWorker({ error: err, id: message.id }) + this.sendToMainWorker({ + error: err, + errorData: message.data, + id: message.id + }) }) .finally(() => { !this.isMain && (this.lastTaskTimestamp = performance.now())