redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
46 lines • 2.25 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.PendingNonPriorityMessages = void 0;
const redis_keys_1 = require("../../../common/redis-keys/redis-keys");
const message_not_found_error_1 = require("../errors/message-not-found.error");
const list_message_storage_1 = require("../message-storage/list-message-storage");
const queue_1 = require("../../queue-manager/queue");
class PendingNonPriorityMessages extends list_message_storage_1.ListMessageStorage {
purge(queue, cb) {
const queueParams = queue_1.Queue.getParams(this.config, queue);
const { keyQueuePending } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
this.purgeMessages({ keyMessages: keyQueuePending }, (err) => {
if (err)
cb(err);
else {
this.logger.info(`Pending messages from queue (${JSON.stringify(queue)}) have been deleted`);
cb();
}
});
}
delete(queue, messageId, sequenceId, cb) {
const queueParams = queue_1.Queue.getParams(this.config, queue);
const { keyQueuePending } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
this.deleteMessage({ keyMessages: keyQueuePending }, { messageId, sequenceId }, (err) => {
const error = err instanceof message_not_found_error_1.MessageNotFoundError ? null : err;
if (error)
cb(error);
else {
this.logger.info(`Pending message (ID ${messageId}) has been deleted`);
cb();
}
});
}
list(queue, skip, take, cb) {
const queueParams = queue_1.Queue.getParams(this.config, queue);
const { keyQueuePending } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
this.fetchMessages({ keyMessages: keyQueuePending }, skip, take, cb);
}
count(queue, cb) {
const queueParams = queue_1.Queue.getParams(this.config, queue);
const { keyQueuePending } = redis_keys_1.redisKeys.getQueueKeys(queueParams);
this.countMessages({ keyMessages: keyQueuePending }, cb);
}
}
exports.PendingNonPriorityMessages = PendingNonPriorityMessages;
//# sourceMappingURL=pending-non-priority-messages.js.map
;