redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
61 lines • 3.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueueMessagesAbstract = void 0;
const redis_smq_common_1 = require("redis-smq-common");
const configuration_js_1 = require("../config-manager/configuration.js");
const _parse_queue_extended_params_js_1 = require("../queue-manager/_/_parse-queue-extended-params.js");
const message_browser_factory_js_1 = require("./message-browser-factory.js");
class QueueMessagesAbstract {
constructor() {
this.logger = (0, redis_smq_common_1.createLogger)(configuration_js_1.Configuration.getConfig().logger, this.constructor.name);
}
withMessageBrowser(queue, operation, cb) {
const parsedParams = (0, _parse_queue_extended_params_js_1._parseQueueExtendedParams)(queue);
if (parsedParams instanceof Error)
return cb(parsedParams);
message_browser_factory_js_1.MessageBrowserFactory.createBrowserForQueue(parsedParams.queueParams, this.messageType, this.logger, (err, browser) => {
if (err)
return cb(err);
if (!browser)
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
operation(browser, cb);
});
}
countMessages(queue, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.countMessages(queue, done), callback);
});
}
getMessageIds(queue, page, pageSize, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.getMessageIds(queue, page, pageSize, done), callback);
});
}
getMessages(queue, page, pageSize, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.getMessages(queue, page, pageSize, done), callback);
});
}
purge(queue, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.purge(queue, done), callback);
});
}
cancelPurge(queue, jobId, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.cancelPurge(queue, jobId, done), callback);
});
}
getPurgeJob(queue, jobId, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.getPurgeJob(queue, jobId, done), callback);
});
}
getPurgeJobStatus(queue, jobId, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
this.withMessageBrowser(queue, (browser, done) => browser.getPurgeJobStatus(queue, jobId, done), callback);
});
}
}
exports.QueueMessagesAbstract = QueueMessagesAbstract;
//# sourceMappingURL=queue-messages-abstract.js.map