UNPKG

jssh-snippet-redis-shards

Version:
40 lines (35 loc) 1.4 kB
// Generated by CoffeeScript 1.8.0 (function() { var defaults; require('jssh-snippet-redis'); defaults = { firstPort: 6379, shards: 4 }; module.exports = function(config) { var dir, port, ports, rport, tpl_conf, tpl_init, _i, _j, _len, _ref, _ref1, _results; config = _.extend({}, defaults, config); ports = (function() { _results = []; for (var _i = _ref = config.firstPort, _ref1 = config.firstPort + config.shards - 1; _ref <= _ref1 ? _i <= _ref1 : _i >= _ref1; _ref <= _ref1 ? _i++ : _i--){ _results.push(_i); } return _results; }).apply(this); mkdir('-p', '/var/run/redis'); mkdir('-p', '/var/log/redis'); dir = "" + __dirname + "/tpl"; tpl_conf = cat("" + dir + "/redis.conf"); tpl_init = cat("" + dir + "/redis-server.sh"); rport = new RegExp("__PORT__", "g"); for (_j = 0, _len = ports.length; _j < _len; _j++) { port = ports[_j]; tpl_conf.replace(rport, port).to("/etc/redis/redis-" + port + ".conf"); mkdir('-p', "/var/lib/redis-" + port); $("chown redis.redis /var/lib/redis-" + port); tpl_init.replace(rport, port).to("/etc/init.d/redis_" + port); chmod(777, "/etc/init.d/redis_" + port); $("update-rc.d redis_" + port + " defaults"); $("/etc/init.d/redis_" + port + " start"); } return $('update-rc.d redis-server disable'); }; }).call(this);