redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
101 lines • 3.93 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Message = void 0;
const redis_smq_common_1 = require("redis-smq-common");
const redis_client_js_1 = require("../../common/redis-client/redis-client.js");
const index_js_1 = require("../../config/index.js");
const _delete_message_js_1 = require("./_/_delete-message.js");
const _get_message_state_js_1 = require("./_/_get-message-state.js");
const _get_message_status_js_1 = require("./_/_get-message-status.js");
const _get_message_js_1 = require("./_/_get-message.js");
const _requeue_message_js_1 = require("./_/_requeue-message.js");
class Message {
constructor() {
this.shutdown = (cb) => {
this.redisClient.shutdown(cb);
};
this.logger = redis_smq_common_1.logger.getLogger(index_js_1.Configuration.getSetConfig().logger, `exchange-fan-out-manager`);
this.redisClient = new redis_client_js_1.RedisClient();
this.redisClient.on('error', (err) => this.logger.error(err));
}
getMessageStatus(messageId, cb) {
this.redisClient.getSetInstance((err, client) => {
if (err)
cb(err);
else if (!client)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
(0, _get_message_status_js_1._getMessageStatus)(client, messageId, cb);
});
}
getMessageState(messageId, cb) {
this.redisClient.getSetInstance((err, client) => {
if (err)
cb(err);
else if (!client)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
(0, _get_message_state_js_1._getMessageState)(client, messageId, cb);
});
}
getMessagesByIds(messageIds, cb) {
this.redisClient.getSetInstance((err, client) => {
if (err)
cb(err);
else if (!client)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
(0, _get_message_js_1._getMessages)(client, messageIds, (err, reply) => {
if (err)
cb(err);
else if (!reply)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else {
cb(null, reply.map((i) => i.transfer()));
}
});
});
}
getMessageById(messageId, cb) {
this.redisClient.getSetInstance((err, client) => {
if (err)
cb(err);
else if (!client)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
(0, _get_message_js_1._getMessage)(client, messageId, (err, reply) => {
if (err)
cb(err);
else if (!reply)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
cb(null, reply.transfer());
});
});
}
deleteMessagesByIds(ids, cb) {
this.redisClient.getSetInstance((err, client) => {
if (err)
cb(err);
else if (!client)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
(0, _delete_message_js_1._deleteMessage)(client, ids, cb);
});
}
deleteMessageById(id, cb) {
this.deleteMessagesByIds([id], cb);
}
requeueMessageById(messageId, cb) {
this.redisClient.getSetInstance((err, client) => {
if (err)
cb(err);
else if (!client)
cb(new redis_smq_common_1.CallbackEmptyReplyError());
else
(0, _requeue_message_js_1._requeueMessage)(client, messageId, cb);
});
}
}
exports.Message = Message;
//# sourceMappingURL=message.js.map
;