@kitmi/jacaranda
Version:
JavaScript application framework
37 lines (36 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _worker = /*#__PURE__*/ _interop_require_default(require("./worker"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
/**
* Start a message queue worker.
* @param {*} queueService
* @param {*} queueName
* @param {Function} worker
* @param {object} options
*/ async function startQueueWorker(queueService, queueName, worker, options) {
return (0, _worker.default)(async (app)=>{
let messageQueue = app.getService(queueService);
app.log('info', `A queue worker is started and waiting for message on queue "${queueName}" ...`);
await messageQueue.waitForJob_(queueName, (msg)=>worker(app, msg));
return app;
}, {
workerName: queueName + 'Worker',
...options,
dontStop: true
});
}
const _default = startQueueWorker;
//# sourceMappingURL=queueWorker.js.map