UNPKG

redis-smq

Version:

A high-performance, reliable, and scalable message queue for Node.js.

39 lines 2.13 kB
import { key } from '../builder.js'; const queuePath = (ns, queueName) => ['ns', ns, 'q', queueName]; const consumerGroupPath = (ns, queueName, consumerGroupId = null) => consumerGroupId ? [...queuePath(ns, queueName), 'cgp', consumerGroupId] : queuePath(ns, queueName); export const queue = { getQueueKeys(ns, queueName, consumerGroupId = null) { return { keyQueueProperties: key(...queuePath(ns, queueName), 'prop'), keyQueuePublished: key(...queuePath(ns, queueName), 'pub'), keyQueuePending: key(...consumerGroupPath(ns, queueName, consumerGroupId), 'pend'), keyQueuePriority: key(...consumerGroupPath(ns, queueName, consumerGroupId), 'prio'), keyQueueDeadLetter: key(...queuePath(ns, queueName), 'dl'), keyQueueProcessing: key(...queuePath(ns, queueName), 'proc'), keyQueueAcknowledged: key(...queuePath(ns, queueName), 'ack'), keyQueueScheduled: key(...queuePath(ns, queueName), 'sched'), keyQueueDelayed: key(...queuePath(ns, queueName), 'dly'), keyQueueRequeued: key(...queuePath(ns, queueName), 'req'), keyQueueConsumers: key(...queuePath(ns, queueName), 'cons'), keyQueueConsumerGroups: key(...queuePath(ns, queueName), 'cgp'), keyQueueStateHistory: key(...queuePath(ns, queueName), 'sh'), keyQueueExchangeBindings: key(...queuePath(ns, queueName), 'bind'), keyQueueProcessingQueues: key(...queuePath(ns, queueName), 'proc-q'), keyQueueWorkersLock: key(...queuePath(ns, queueName), 'wlock'), keyQueueRateLimit: key(...queuePath(ns, queueName), 'rate'), }; }, getQueueConsumerKeys(queue, consumerId) { return { keyQueueProcessing: key(...queuePath(queue.ns, queue.name), 'cons', consumerId, 'proc'), }; }, getQueueConsumerGroupKeys(queue, consumerGroupId) { return { keyQueueConsumerGroupConsumers: key(...consumerGroupPath(queue.ns, queue.name, consumerGroupId), 'cons'), }; }, }; //# sourceMappingURL=queue.js.map