redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
25 lines • 1.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.delayMessage = exports.delayMessageTransaction = void 0;
const redis_keys_1 = require("../../../common/redis-keys/redis-keys");
const redis_smq_common_1 = require("redis-smq-common");
function delayMessageTransaction(mixed, message, keyQueueProcessing) {
const queue = message.getDestinationQueue();
const { keyDelayedMessages } = redis_keys_1.redisKeys.getQueueKeys(queue);
mixed.rpoplpush(keyQueueProcessing, keyDelayedMessages);
}
exports.delayMessageTransaction = delayMessageTransaction;
function delayMessage(mixed, message, keyQueueProcessing, unacknowledgedCause, cb) {
if (mixed instanceof redis_smq_common_1.RedisClient) {
if (!cb)
throw new redis_smq_common_1.errors.PanicError(`Expected a callback function`);
const queue = message.getDestinationQueue();
const { keyDelayedMessages } = redis_keys_1.redisKeys.getQueueKeys(queue);
mixed.rpoplpush(keyQueueProcessing, keyDelayedMessages, (err) => cb(err));
}
else {
delayMessageTransaction(mixed, message, keyQueueProcessing);
}
}
exports.delayMessage = delayMessage;
//# sourceMappingURL=delay-message.js.map
;