UNPKG

redis-smq-common

Version:

Provides essential components and utilities shared across RedisSMQ packages.

25 lines 968 B
import { EWorkerThreadChildExecutionCode, EWorkerThreadParentMessage, } from '../types/index.js'; import { postMessage } from './worker-thread-message.js'; export function handleCallableWorker(worker, messagePort) { const callback = (err, reply) => { if (err) { postMessage(messagePort, EWorkerThreadChildExecutionCode.PROCESSING_ERROR, err); } else { postMessage(messagePort, EWorkerThreadChildExecutionCode.OK, null, reply); } }; const onMessage = (message) => { if (message.type === EWorkerThreadParentMessage.CALL) { const { payload } = message; try { worker(payload, callback); } catch (err) { postMessage(messagePort, EWorkerThreadChildExecutionCode.PROCESSING_CAUGHT_ERROR, err); } } }; messagePort.on('message', onMessage); } //# sourceMappingURL=callable-worker-thread.js.map