예제 #1
0
            $instance_list = get_instance_list_complex($pdo, array('service_id' => $service_id));
        }
        $template = 'service_done';
        //msg_redirect('service_detail.php?service_id='.$service_id);
        break;
    case 'change_mode':
        //service.php?action=change_mode&service_id=$service_id
        $service_id = $params['service_id'];
        $username = check_login($req_url);
        $service_info = pdo_get_service_byid($pdo, $service_id);
        $zk_host = get_host_name($pdo, $cfg['zk_host_id']);
        if ($zk_host && $service_info) {
            if ($service_info['zk']) {
                $zk = '';
            } else {
                $zk = $zk_host . ":10" . $service_id;
            }
            set_mode($pdo, $service_id, $zk);
            if ($zk) {
                insert_action_queue_new($pdo, CREATE_ZK, $service_id, $cfg['zk_host_id'], $username);
            }
        }
        $service_list = get_service_list($pdo);
        $template = 'service';
        break;
    default:
        $service_list = get_service_list($pdo);
        $template = 'service';
        break;
}
require_once './libraries/decorator.inc.php';
예제 #2
0
function reload_service_by_instance($pdo, $instance_id, $uname = '')
{
    global $cfg;
    /*readable/writable被修改,需要修改instance的solrconfig.重启成功后再修改nginx*/
    reload_instance($pdo, $instance_id, $uname);
    $service_mapping = pdo_get_mapping_by_instance_id($pdo, $instance_id);
    lock_service($pdo, $service_mapping['service_id']);
    foreach ($cfg['lb_host'] as $key => $v) {
        $target_id = $v;
        insert_action_queue_new($pdo, SERVICE_RECONFIGURE, $service_mapping['service_id'], $target_id, $uname);
        insert_action_queue_new($pdo, SERVICE_RELOAD, $service_mapping['service_id'], $target_id, $uname);
    }
}