Example #1
0
         foreach ($service_mapping as $v) {
             $instance_id = $v['instance_id'];
             if (lock_instance($pdo, $instance_id)) {
                 insert_action_queue($pdo, INSTANCE_RECONFIGURE_SCHEMA, $instance_id, $username);
                 insert_action_queue($pdo, INSTANCE_RECONFIGURE_SOLRCONF, $instance_id, $username);
                 insert_action_queue($pdo, INSTANCE_STOP, $instance_id, $username);
                 insert_action_queue($pdo, INSTANCE_START, $instance_id, $username);
             }
         }
     }
     service_redirect();
     break;
 case 'reconfigure_master':
     $username = check_login($def_url);
     $service_id = $params['service_id'];
     $master_info = pdo_get_master_complex($pdo, $service_id);
     $instance_id = $master_info['instance_id'];
     if ($instance_id && lock_instance($pdo, $instance_id)) {
         insert_action_queue($pdo, INSTANCE_RECONFIGURE_SCHEMA, $instance_id, $username);
         insert_action_queue($pdo, INSTANCE_RECONFIGURE_SOLRCONF, $instance_id, $username);
         insert_action_queue($pdo, INSTANCE_STOP, $instance_id, $username);
         insert_action_queue($pdo, INSTANCE_START, $instance_id, $username);
     }
     service_redirect();
     break;
 case 'schema_add':
     $u_info = check_login($req_url);
     $service_id = $params['service_id'];
     $type_list = get_schema_type_list($pdo);
     $service_info = pdo_get_service_byid($pdo, $service_id);
     $solr_schema = pdo_get_solr_schema($pdo, $service_id);
Example #2
0
$now_hour = date("G");
$services = get_service_list_running($link);
if (!$services) {
    exit;
}
foreach ($services as $s) {
    if (empty($s["optimize_time"])) {
        continue;
    }
    $hours = explode(",", $s["optimize_time"]);
    foreach ($hours as $i => $h) {
        $hours[$i] = intval($h);
    }
    if (!in_array($now_hour, $hours)) {
        continue;
    }
    #    $instances = pdo_get_instances($link, $s["service_id"]);
    #    if (!$instances) continue;
    #
    #    foreach ($instances as $i) {
    #        if ($i["writable"]==0) continue;
    #
    #        insert_action_queue($link, INSTANCE_OPTIMIZE, $i["instance_id"], 'Robot');
    #    }
    #   考虑到多master的情况(选第一个writable=1的instance)
    $master = pdo_get_master_complex($link, $s["service_id"]);
    if (!$master) {
        continue;
    }
    insert_action_queue($link, INSTANCE_OPTIMIZE, $master["instance_id"], 'Robot');
}