@voicenter-team/mysql-dynamic-cluster
Version:
Galera cluster with implementation of dynamic choose mysql server for queries, caching, hashing it and metrics
35 lines • 1.87 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LOGLEVEL = exports.createPoolCluster = void 0;
const GaleraCluster_1 = require("./src/cluster/GaleraCluster");
const LoggerInterfaces_1 = require("./src/types/LoggerInterfaces");
Object.defineProperty(exports, "LOGLEVEL", { enumerable: true, get: function () { return LoggerInterfaces_1.LOGLEVEL; } });
const Logger_1 = __importDefault(require("./src/utils/Logger"));
const Settings_1 = require("./src/utils/Settings");
const Redis_1 = __importDefault(require("./src/Redis/Redis"));
const Metrics_1 = __importDefault(require("./src/metrics/Metrics"));
const configs_1 = __importDefault(require("./src/configs"));
const ioredis_1 = require("ioredis");
function createPoolCluster(userSettings) {
userSettings = Settings_1.Settings.mixSettings(userSettings);
let redisInstant = userSettings.redisInstant;
delete userSettings.redisInstant;
configs_1.default.load(userSettings).validate;
init(redisInstant);
return new GaleraCluster_1.GaleraCluster();
}
exports.createPoolCluster = createPoolCluster;
function init(redisInstant) {
var _a;
Logger_1.default.init();
Metrics_1.default.init(configs_1.default.get('clusterName'), configs_1.default.get('showMetricKeys'));
// tslint:disable-next-line:no-bitwise
if (redisInstant instanceof ioredis_1.Cluster || ((_a = redisInstant === null || redisInstant === void 0 ? void 0 : redisInstant.constructor) === null || _a === void 0 ? void 0 : _a.name) === 'Redis') {
Redis_1.default.init(redisInstant, configs_1.default.get('clusterName'), configs_1.default.get('redis'));
}
Logger_1.default.info("Initialized app");
}
//# sourceMappingURL=index.js.map