UNPKG

redis-smq

Version:

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

51 lines 2.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.consumerQueues = void 0; const redis_keys_1 = require("../../common/redis-keys/redis-keys"); const redis_smq_common_1 = require("redis-smq-common"); exports.consumerQueues = { removeConsumer(multi, queue, consumerId) { const { keyQueueConsumers, keyConsumerQueues } = redis_keys_1.redisKeys.getQueueConsumerKeys(queue, consumerId); multi.hdel(keyQueueConsumers, consumerId); multi.srem(keyConsumerQueues, JSON.stringify(queue)); }, getQueueConsumers(client, queue, transform, cb) { const { keyQueueConsumers } = redis_keys_1.redisKeys.getQueueKeys(queue); client.hgetall(keyQueueConsumers, (err, reply) => { if (err) cb(err); else { const consumers = reply !== null && reply !== void 0 ? reply : {}; if (transform) { const data = {}; redis_smq_common_1.async.eachIn(consumers, (item, key, done) => { data[key] = JSON.parse(item); done(); }, () => cb(null, data)); } else cb(null, consumers); } }); }, getQueueConsumerIds(client, queue, cb) { const { keyQueueConsumers } = redis_keys_1.redisKeys.getQueueKeys(queue); client.hkeys(keyQueueConsumers, cb); }, countQueueConsumers(client, queue, cb) { const { keyQueueConsumers } = redis_keys_1.redisKeys.getQueueKeys(queue); client.hlen(keyQueueConsumers, cb); }, getConsumerQueues(client, consumerId, cb) { const { keyConsumerQueues } = redis_keys_1.redisKeys.getConsumerKeys(consumerId); client.smembers(keyConsumerQueues, (err, reply) => { if (err) cb(err); else { const queues = (reply !== null && reply !== void 0 ? reply : []).map((i) => JSON.parse(i)); cb(null, queues); } }); }, }; //# sourceMappingURL=consumer-queues.js.map