redis-smq-common
Version:
RedisSMQ Common Library provides many components that are mainly used by RedisSMQ and RedisSMQ Monitor.
28 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleWorkerCallable = handleWorkerCallable;
const index_js_1 = require("../types/index.js");
const worker_thread_message_js_1 = require("./worker-thread-message.js");
function handleWorkerCallable(worker, messagePort) {
const callback = (err, reply) => {
if (err) {
(0, worker_thread_message_js_1.postMessage)(messagePort, index_js_1.EWorkerThreadChildExecutionCode.PROCESSING_ERROR, err);
}
else {
(0, worker_thread_message_js_1.postMessage)(messagePort, index_js_1.EWorkerThreadChildExecutionCode.OK, null, reply);
}
};
const onMessage = (message) => {
if (message.type === index_js_1.EWorkerThreadParentMessage.CALL) {
const { payload } = message;
try {
worker(payload, callback);
}
catch (err) {
(0, worker_thread_message_js_1.postMessage)(messagePort, index_js_1.EWorkerThreadChildExecutionCode.PROCESSING_CAUGHT_ERROR, err);
}
}
};
messagePort.on('message', onMessage);
}
//# sourceMappingURL=worker-thread-callable.js.map