UNPKG

redis-smq

Version:

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

46 lines 2.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._deleteConsumerGroup = _deleteConsumerGroup; const redis_smq_common_1 = require("redis-smq-common"); const scripts_js_1 = require("../../../common/redis-client/scripts/scripts.js"); const redis_keys_js_1 = require("../../../common/redis-keys/redis-keys.js"); const index_js_1 = require("../../queue/index.js"); const index_js_2 = require("../errors/index.js"); function _deleteConsumerGroup(redisClient, eventBus, queue, groupId, cb) { redis_smq_common_1.async.waterfall([ (cb) => { const { keyQueueConsumerGroups, keyQueuePending, keyQueuePriorityPending, keyQueueProperties, } = redis_keys_js_1.redisKeys.getQueueKeys(queue, groupId); redisClient.runScript(scripts_js_1.ELuaScriptName.DELETE_CONSUMER_GROUP, [ keyQueueConsumerGroups, keyQueuePending, keyQueuePriorityPending, keyQueueProperties, ], [ index_js_1.EQueueProperty.QUEUE_TYPE, index_js_1.EQueueType.PRIORITY_QUEUE, index_js_1.EQueueType.LIFO_QUEUE, index_js_1.EQueueType.FIFO_QUEUE, groupId, ], (err, reply) => { if (err) cb(err); else if (reply !== 'OK') { if (reply === 'QUEUE_NOT_FOUND') { cb(new index_js_2.ConsumerGroupsQueueNotFoundError()); } else if (reply === 'CONSUMER_GROUP_NOT_EMPTY') { cb(new index_js_2.ConsumerGroupsConsumerGroupNotEmptyError()); } else { cb(new index_js_2.ConsumerGroupsError()); } } else { eventBus.emit('queue.consumerGroupDeleted', queue, groupId); cb(); } }); }, ], cb); } //# sourceMappingURL=_delete-consumer-group.js.map