redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
41 lines • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QueuePublishedMessages = void 0;
const queue_messages_abstract_js_1 = require("./queue-messages-abstract.js");
const redis_smq_common_1 = require("redis-smq-common");
const _parse_queue_params_js_1 = require("../queue-manager/_/_parse-queue-params.js");
const with_shared_pool_connection_js_1 = require("../common/redis/redis-connection-pool/with-shared-pool-connection.js");
const _get_queue_properties_js_1 = require("../queue-manager/_/_get-queue-properties.js");
const index_js_1 = require("./types/index.js");
class QueuePublishedMessages extends queue_messages_abstract_js_1.QueueMessagesAbstract {
constructor() {
super(...arguments);
this.messageType = index_js_1.EQueueMessageType.PUBLISHED;
}
countMessagesByStatus(queue, cb) {
return redis_smq_common_1.async.withOptionalCallback(cb, (callback) => {
const queueParams = (0, _parse_queue_params_js_1._parseQueueParams)(queue);
if (queueParams instanceof Error) {
return callback(queueParams);
}
(0, with_shared_pool_connection_js_1.withSharedPoolConnection)((client, cb) => {
(0, _get_queue_properties_js_1._getQueueProperties)(client, queueParams, (err, properties) => {
if (err) {
return cb(err);
}
if (!properties) {
return cb(new redis_smq_common_1.CallbackEmptyReplyError());
}
return cb(null, {
pending: properties.pendingMessagesCount,
acknowledged: properties.acknowledgedMessagesCount,
scheduled: properties.scheduledMessagesCount,
deadLettered: properties.deadLetteredMessagesCount,
});
});
}, callback);
});
}
}
exports.QueuePublishedMessages = QueuePublishedMessages;
//# sourceMappingURL=queue-published-messages.js.map