UNPKG

redis-smq

Version:

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

41 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MessageManager = void 0; const redis_smq_common_1 = require("redis-smq-common"); const scheduled_messages_1 = require("./messages/scheduled-messages"); const acknowledged_messages_1 = require("./messages/acknowledged-messages"); const dead_lettered_messages_1 = require("./messages/dead-lettered-messages"); const pending_messages_1 = require("./messages/pending-messages"); const configuration_1 = require("../../config/configuration"); class MessageManager { constructor(redisClient, acknowledgedMessages, deadLetteredMessages, pendingMessages, scheduledMessages) { this.redisClient = redisClient; this.acknowledgedMessages = acknowledgedMessages; this.deadLetteredMessages = deadLetteredMessages; this.pendingMessages = pendingMessages; this.scheduledMessages = scheduledMessages; } quit(cb) { this.redisClient.halt(cb); } static createInstance(config, cb) { const cfg = (0, configuration_1.getConfiguration)(config); (0, redis_smq_common_1.createClientInstance)(cfg.redis, (err, client) => { if (err) cb(err); else if (!client) cb(new redis_smq_common_1.errors.EmptyCallbackReplyError()); else { const nsLogger = redis_smq_common_1.logger.getNamespacedLogger(cfg.logger, 'message-manager'); const acknowledgedMessages = new acknowledged_messages_1.AcknowledgedMessages(cfg, client, nsLogger); const deadLetteredMessages = new dead_lettered_messages_1.DeadLetteredMessages(cfg, client, nsLogger); const pendingMessages = new pending_messages_1.PendingMessages(cfg, client, nsLogger); const scheduledMessages = new scheduled_messages_1.ScheduledMessages(cfg, client, nsLogger); const messageManager = new MessageManager(client, acknowledgedMessages, deadLetteredMessages, pendingMessages, scheduledMessages); cb(null, messageManager); } }); } } exports.MessageManager = MessageManager; //# sourceMappingURL=message-manager.js.map