UNPKG

redis-smq

Version:

A simple high-performance Redis message queue for Node.js.

56 lines 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeadLetteredMessages = void 0; const redis_keys_1 = require("../../../common/redis-keys/redis-keys"); const list_message_storage_1 = require("../message-storage/list-message-storage"); const queue_1 = require("../../queue-manager/queue"); class DeadLetteredMessages extends list_message_storage_1.ListMessageStorage { purge(queue, cb) { const queueParams = queue_1.Queue.getParams(this.config, queue); const { keyQueueDL } = redis_keys_1.redisKeys.getQueueKeys(queueParams); this.purgeMessages({ keyMessages: keyQueueDL }, (err) => { if (err) cb(err); else { this.logger.info(`Dead-lettered messages from queue (${JSON.stringify(queue)}) have been deleted`); cb(); } }); } requeue(queue, messageId, sequenceId, cb) { const queueParams = queue_1.Queue.getParams(this.config, queue); const { keyQueueDL } = redis_keys_1.redisKeys.getQueueKeys(queueParams); this.requeueMessage({ keyMessages: keyQueueDL }, { sequenceId, messageId }, (err) => { if (err) cb(err); else { this.logger.info(`Dead-lettered message (ID ${messageId}) has been re-queued`); cb(); } }); } delete(queue, messageId, sequenceId, cb) { const queueParams = queue_1.Queue.getParams(this.config, queue); const { keyQueueDL } = redis_keys_1.redisKeys.getQueueKeys(queueParams); this.deleteMessage({ keyMessages: keyQueueDL }, { messageId, sequenceId }, (err) => { if (err) cb(err); else { this.logger.info(`Dead-lettered message (ID ${messageId}) has been deleted`); cb(); } }); } list(queue, skip, take, cb) { const queueParams = queue_1.Queue.getParams(this.config, queue); const { keyQueueDL } = redis_keys_1.redisKeys.getQueueKeys(queueParams); this.fetchMessages({ keyMessages: keyQueueDL }, skip, take, cb); } count(queue, cb) { const queueParams = queue_1.Queue.getParams(this.config, queue); const { keyQueueDL } = redis_keys_1.redisKeys.getQueueKeys(queueParams); this.countMessages({ keyMessages: keyQueueDL }, cb); } } exports.DeadLetteredMessages = DeadLetteredMessages; //# sourceMappingURL=dead-lettered-messages.js.map