redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
30 lines • 1.05 kB
JavaScript
import { async } from 'redis-smq-common';
import { redisKeys } from '../../common/redis/redis-keys/redis-keys.js';
import { _parseMessage } from './_parse-message.js';
import { MessageNotFoundError } from '../../errors/index.js';
export function _getMessage(redisClient, messageId, cb) {
const { keyMessage } = redisKeys.getMessageKeys(messageId);
redisClient.hgetall(keyMessage, (err, reply) => {
if (err)
cb(err);
else if (!reply || !Object.keys(reply).length)
cb(new MessageNotFoundError());
else
cb(null, _parseMessage(reply));
});
}
export function _getMessages(redisClient, messageIds, cb) {
const messages = [];
async.eachOf(messageIds, (id, _, done) => {
async.withCallback((cb) => _getMessage(redisClient, id, cb), (message, cb) => {
messages.push(message);
cb();
}, done);
}, (err) => {
if (err)
cb(err);
else
cb(null, messages);
});
}
//# sourceMappingURL=_get-message.js.map