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; }
} } $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; }