redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
42 lines • 2.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.queue = void 0;
const builder_js_1 = require("../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);
exports.queue = {
getQueueKeys(ns, queueName, consumerGroupId = null) {
return {
keyQueueProperties: (0, builder_js_1.key)(...queuePath(ns, queueName), 'prop'),
keyQueuePublished: (0, builder_js_1.key)(...queuePath(ns, queueName), 'pub'),
keyQueuePending: (0, builder_js_1.key)(...consumerGroupPath(ns, queueName, consumerGroupId), 'pend'),
keyQueuePriority: (0, builder_js_1.key)(...consumerGroupPath(ns, queueName, consumerGroupId), 'prio'),
keyQueueDeadLetter: (0, builder_js_1.key)(...queuePath(ns, queueName), 'dl'),
keyQueueProcessing: (0, builder_js_1.key)(...queuePath(ns, queueName), 'proc'),
keyQueueAcknowledged: (0, builder_js_1.key)(...queuePath(ns, queueName), 'ack'),
keyQueueScheduled: (0, builder_js_1.key)(...queuePath(ns, queueName), 'sched'),
keyQueueDelayed: (0, builder_js_1.key)(...queuePath(ns, queueName), 'dly'),
keyQueueRequeued: (0, builder_js_1.key)(...queuePath(ns, queueName), 'req'),
keyQueueConsumers: (0, builder_js_1.key)(...queuePath(ns, queueName), 'cons'),
keyQueueConsumerGroups: (0, builder_js_1.key)(...queuePath(ns, queueName), 'cgp'),
keyQueueStateHistory: (0, builder_js_1.key)(...queuePath(ns, queueName), 'sh'),
keyQueueExchangeBindings: (0, builder_js_1.key)(...queuePath(ns, queueName), 'bind'),
keyQueueProcessingQueues: (0, builder_js_1.key)(...queuePath(ns, queueName), 'proc-q'),
keyQueueWorkersLock: (0, builder_js_1.key)(...queuePath(ns, queueName), 'wlock'),
keyQueueRateLimit: (0, builder_js_1.key)(...queuePath(ns, queueName), 'rate'),
};
},
getQueueConsumerKeys(queue, consumerId) {
return {
keyQueueProcessing: (0, builder_js_1.key)(...queuePath(queue.ns, queue.name), 'cons', consumerId, 'proc'),
};
},
getQueueConsumerGroupKeys(queue, consumerGroupId) {
return {
keyQueueConsumerGroupConsumers: (0, builder_js_1.key)(...consumerGroupPath(queue.ns, queue.name, consumerGroupId), 'cons'),
};
},
};
//# sourceMappingURL=queue.js.map