UNPKG

redis-smq

Version:

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

33 lines 1.29 kB
import { async } from 'redis-smq-common'; import { redisKeys } from '../../common/redis-keys/redis-keys.js'; export const consumerQueues = { getQueueConsumers(client, queue, transform, cb) { const { keyQueueConsumers } = redisKeys.getQueueKeys(queue, null); client.hgetall(keyQueueConsumers, (err, reply) => { if (err) return cb(err); const consumers = reply ?? {}; if (!transform) return cb(null, consumers); const data = {}; async.eachIn(consumers, (item, key, done) => { data[key] = JSON.parse(item); done(); }, () => cb(null, data)); }); }, getQueueConsumerIds(client, queue, cb) { const { keyQueueConsumers } = redisKeys.getQueueKeys(queue, null); client.hkeys(keyQueueConsumers, cb); }, getConsumerQueues(client, consumerId, cb) { const { keyConsumerQueues } = redisKeys.getConsumerKeys(consumerId); client.smembers(keyConsumerQueues, (err, reply) => { if (err) return cb(err); const queues = (reply ?? []).map((i) => JSON.parse(i)); cb(null, queues); }); }, }; //# sourceMappingURL=consumer-queues.js.map