redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
36 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.consumerQueues = void 0;
const redis_smq_common_1 = require("redis-smq-common");
const redis_keys_js_1 = require("../../common/redis-keys/redis-keys.js");
exports.consumerQueues = {
getQueueConsumers(client, queue, transform, cb) {
const { keyQueueConsumers } = redis_keys_js_1.redisKeys.getQueueKeys(queue, null);
client.hgetall(keyQueueConsumers, (err, reply) => {
if (err)
return cb(err);
const consumers = reply !== null && reply !== void 0 ? reply : {};
if (!transform)
return cb(null, consumers);
const data = {};
redis_smq_common_1.async.eachIn(consumers, (item, key, done) => {
data[key] = JSON.parse(item);
done();
}, () => cb(null, data));
});
},
getQueueConsumerIds(client, queue, cb) {
const { keyQueueConsumers } = redis_keys_js_1.redisKeys.getQueueKeys(queue, null);
client.hkeys(keyQueueConsumers, cb);
},
getConsumerQueues(client, consumerId, cb) {
const { keyConsumerQueues } = redis_keys_js_1.redisKeys.getConsumerKeys(consumerId);
client.smembers(keyConsumerQueues, (err, reply) => {
if (err)
return cb(err);
const queues = (reply !== null && reply !== void 0 ? reply : []).map((i) => JSON.parse(i));
cb(null, queues);
});
},
};
//# sourceMappingURL=consumer-queues.js.map