public function generateScript() { $script_tpl = file_get_contents($this->script_tpl_file); $redis_servers = $this->redis_conf->getServers(); $redis_setup_by_host = array(); foreach ($redis_servers as $r_s_v) { $redis_setup_by_host[$r_s_v['host']][] = '/path/to/redis/bin/redis-server /path/to/redis/conf/redis.' . RCT_FLAG . $r_s_v['port'] . '.conf'; } foreach ($redis_setup_by_host as $r_s_b_h_k => $r_s_b_h_v) { $_script = str_replace(array('{{REDIS}}', '{{IP}}'), array(implode("\n", $r_s_b_h_v), $r_s_b_h_k), $script_tpl); $_script_file = new RCT_File(RCT_PATH . '/tmp/setup/' . $r_s_b_h_k . '/setup.' . RCT_FLAG . '.sh'); $_script_file->write($_script); } }
public function generateConf() { $conf_tpl = file_get_contents($this->conf_tpl_file); $maxmemory = $this->getMaxmemory(); foreach ($this->ini as $i_v) { $_redis_conf = str_replace(array('{{PORT}}', '{{BIND}}', '{{MAXMEMORY}}'), array($i_v['port'], "{$i_v['host']} 127.0.0.1", $maxmemory), $conf_tpl); $_conf_file = new RCT_File(RCT_PATH . '/tmp/redis/' . $i_v['host'] . '/redis.' . RCT_FLAG . $i_v['port'] . '.conf'); $_conf_file->write($_redis_conf); if ($i_v['master']) { $_master_conf = str_replace(array('{{PORT}}', '{{BIND}}', '{{MAXMEMORY}}'), array($i_v['master']['port'], "{$i_v['master']['host']} 127.0.0.1", $maxmemory), $conf_tpl); $_conf_file = new RCT_File(RCT_PATH . '/tmp/redis/' . $i_v['host'] . '/redis.' . RCT_FLAG . $i_v['port'] . '.conf'); $_conf_file->write($_master_conf); } } }
public function generateYml() { $yml_tpl = file_get_contents($this->yml_tpl_file); $redis_servers = $this->redis_conf->getServers(); $servers = ''; foreach ($redis_servers as $r_s_v) { $servers .= " - {$r_s_v['host']}:{$r_s_v['port']}:1 port{$r_s_v['port']}\n"; } foreach ($this->ini as $i_v) { $_nutcracker_yml = ''; $_nutcracker_yml .= str_replace(array('{{NUMBER}}', '{{IP}}', '{{SERVERS}}'), array(0, '0.0.0.0', $servers), $yml_tpl); $_nutcracker_yml .= "\n"; $_yml_file = new RCT_File(RCT_PATH . '/tmp/nutcracker/' . $i_v[0] . '/nutcracker.' . RCT_FLAG . '.yml'); $_yml_file->write($_nutcracker_yml); } }
public function generateScript() { $script_tpl = file_get_contents($this->script_tpl_file); $servers = $this->redis_conf->getServers(); $max_memory = $this->redis_conf->getMaxmemory(); $servers_by_host = array(); foreach ($servers as $s_v) { $servers_by_host[$s_v['host']][] = $s_v; } $require_memory = ceil($max_memory * 1.5); foreach ($servers_by_host as $s_b_h_k => $s_b_h_v) { $_servers_str = var_export($s_b_h_v, true); $_script = str_replace(array('{{SERVERS}}', '{{REQUIRE_MEMORY}}'), array($_servers_str, $require_memory), $script_tpl); $_conf_file = new RCT_File(RCT_PATH . '/tmp/bgsave/' . $s_b_h_k . '/bgsave.' . RCT_FLAG . '.php'); $_conf_file->write($_script); } }
public function generateScript() { $script_tpl = file_get_contents($this->script_tpl_file); $redis_servers = $this->redis_conf->getServers(); $redis_restart_by_host = array(); foreach ($redis_servers as $r_s_v) { $redis_restart_by_host[$r_s_v['host']][] = 'echo "["`date "+%Y-%m-%d %H:%M:%S"`"]Restarting: ' . $r_s_v['host'] . ':' . $r_s_v['port'] . '"'; $redis_restart_by_host[$r_s_v['host']][] = '/path/to/redis/bin/redis-cli -p ' . $r_s_v['port'] . ' shutdown save'; $redis_restart_by_host[$r_s_v['host']][] = 'sleep 1'; $redis_restart_by_host[$r_s_v['host']][] = '/path/to/redis/bin/redis-server /path/to/redis/conf/redis.' . RCT_FLAG . $r_s_v['port'] . '.conf'; $redis_restart_by_host[$r_s_v['host']][] = ''; } foreach ($redis_restart_by_host as $r_r_b_h_k => $r_r_b_h_v) { $_script = str_replace(array('{{RESTART_REDIS}}'), array(implode("\n", $r_r_b_h_v)), $script_tpl); $_script_file = new RCT_File(RCT_PATH . '/tmp/restart/' . $r_r_b_h_k . '/restart.' . RCT_FLAG . '.redis.sh'); $_script_file->write($_script); } }