function deregister_node($ip, $f5_web_client_port, $f5_partition, $f5_user, $f5_pass, $f5_pool, $f5_ip1, $f5_ip2 = NULL)
{
    global $server_cfg;
    $command = "/usr/local/bin/register.py -a {$ip} -p {$f5_web_client_port} -n {$f5_partition} remove {$f5_user} {$f5_pass} {$f5_pool} {$f5_ip1} {$f5_ip2}";
    $target = sprintf($server_cfg['log_file'], $ip);
    $pid = run_in_background($command, $target, "+20");
    return $pid;
}
Exemple #2
0
             }
         }
         $vdoname = $vid . '.flv';
         $flvdoname = $vid . '.flv';
         $video_id = $vid;
         $duration = $vidinfo['ID_LENGTH'];
         $height = $vidinfo['ID_VIDEO_HEIGHT'];
         $width = $vidinfo['ID_VIDEO_WIDTH'];
         $fps = $vidinfo['ID_VIDEO_FPS'];
         $id_video_format = $vidinfo['ID_VIDEO_FORMAT'];
         $cgi = strpos(php_sapi_name(), 'cgi') ? 'env -i ' : NULL;
         // Proc
         $cmd = $cgi . $config['phppath'] . " " . $config['BASE_DIR'] . "/scripts/convert_videos.php" . " " . $vdoname . " " . $video_id . " " . $vdo_path . "";
         log_conversion($config['LOG_DIR'] . '/' . $video_id . '.log', $cmd);
         $lg = $config['LOG_DIR'] . '/' . $video_id . '.log2';
         run_in_background($cmd . ' > ' . $lg);
         $add = NULL;
         if ($config['multi_server'] == '1') {
             require $config['BASE_DIR'] . '/include/function_server.php';
             $server = get_server();
             update_server_used($server);
             upload_video($config['FLVDO_DIR'] . '/' . $vid . '.flv', $server['server_ip'], $server['ftp_username'], $server['ftp_password'], $server['ftp_root']);
             update_server($server);
             $add = ", server = '" . mysql_real_escape_string($server['url']) . "'";
         }
         $size = filesize($vdo_path);
     }
 }
 if (!$errors) {
     $vkey = substr(md5($vid), 11, 20);
     $sql = "UPDATE video SET duration = '" . mysql_real_escape_string($duration) . "', vkey = '" . $vkey . "',\n                                            vdoname = '" . mysql_real_escape_string($vdoname) . "', flvdoname = '" . mysql_real_escape_string($flvdoname) . "',\n                                            space = " . $size . ", active = '1'" . $sql_add . $add . "\n                           WHERE VID = " . intval($vid) . " LIMIT 1";
function get_pdt_per_page($pool_ip, $instance_count, $prev_pdt = NULL)
{
    $dir = "/tmp/pdts/";
    // Delete the previous pdts
    del_dir_create($dir);
    $relative_path = realpath(dirname(__FILE__));
    $pdt_count = -1;
    $loop = 0;
    $parallel = 20;
    if ($instance_count < 20) {
        $parallel = $instance_count;
    }
    $instance_count_parallel = $instance_count / $parallel;
    $required_pdt = (int) (0.66 * $instance_count);
    // 2/3 rd of instance_count
    $cmd = "php {$relative_path}/get_pdt.php -p " . $pool_ip . " -c " . $instance_count_parallel;
    $pid_array = array();
    //Maximum number of hits = 2*instance_count
    while ($pdt_count < $required_pdt && $loop < 3) {
        for ($i = 0; $i < $parallel; $i++) {
            $pid_array[] = run_in_background($cmd);
        }
        // Wait for the process to complete
        foreach ($pid_array as $pid) {
            while (is_process_running($pid)) {
                sleep(1);
            }
        }
        $pdt_count = count(glob($dir . "*"));
        $loop++;
    }
    if ($pdt_count < $required_pdt) {
        die("ERROR: Required number ( {$required_pdt} ) of pdt.json not fetched. Fetched {$pdt_count} pdt.json from 3*instance_count fetches.\n");
    }
    exec("/usr/local/zperfmon/bin/pdt.py " . $dir . "*", $pdt_aggr);
    $file_count = array_shift($pdt_aggr);
    $file_count = explode(" ", $file_count);
    $file_count = intval($file_count[1]);
    $page_pdt = array();
    foreach ($pdt_aggr as $pdt_list) {
        $pdt_list_array = explode(",", $pdt_list);
        $page_name = $pdt_list_array[0];
        $pdt = "";
        $count_per_file = intval($pdt_list_array[1] / $file_count);
        $time_per_file = intval($pdt_list_array[2] / $file_count);
        if ($prev_pdt != NULL) {
            $prev_count = $prev_pdt[$page_name][0];
            $prev_time = $prev_pdt[$page_name][1];
            if ($prev_count < $count_per_file) {
                $count_diff = $count_per_file - $prev_count;
                $time_diff = $time_per_file - $prev_time;
                $pdt = intval($time_diff / $count_diff);
            } else {
                $pdt = $pdt_list_array[3];
            }
        } else {
            $pdt = $pdt_list_array[3];
        }
        $page_pdt[$page_name] = array($count_per_file, $time_per_file, $pdt);
    }
    return $page_pdt;
}