UNPKG

redis-smq-common

Version:

Provides essential components and utilities shared across RedisSMQ packages.

25 lines 1.02 kB
import { WorkerPayloadRequiredError } from './errors/index.js'; import { EWorkerThreadParentMessage, EWorkerType, } from './types/index.js'; import { Worker } from './worker.js'; export class CallableWorker extends Worker { type = EWorkerType.CALLABLE; constructor(workerFilename, logger) { super(workerFilename, undefined, logger); this.logger.debug(`CallableWorker instance created for ${workerFilename}`); } call(payload, cb) { this.logger.debug(`Calling worker ${this.id}`); if (payload === null || payload === undefined) { this.logger.error('Worker call failed: payload is required'); cb(new WorkerPayloadRequiredError()); return; } const message = { type: EWorkerThreadParentMessage.CALL, payload, }; this.logger.debug('Posting CALL message to worker thread (request-response)'); super.postMessage(message, cb); } } //# sourceMappingURL=callable-worker.js.map