$total) return; if(empty($start_time)) $start_time=time(); $now = time(); $perc=(double)($done/$total); $bar=floor($perc*$size); $status_bar="\r["; $status_bar.=str_repeat("=", $bar); if($bar<$size){ $status_bar.=">"; $status_bar.=str_repeat(" ", $size-$bar); } else { $status_bar.="="; } $disp=number_format($perc*100, 0); $status_bar.="] $disp% $done/$total"; $rate = ($now-$start_time)/$done; $left = $total - $done; $eta = round($rate * $left, 2); $elapsed = $now - $start_time; $status_bar.= " remaining: ".number_format($eta)." sec. elapsed: ".number_format($elapsed)." sec."; echo "$status_bar "; flush(); // when done, send a newline if($done == $total) { echo "\n"; } } // include channel list include "SDS_status_channels.php"; $username = getenv('PHP_ADEI_USERNAME'); $password = getenv('PHP_ADEI_PASSWORD'); $context = stream_context_create(array( 'http' => array( 'header' => "Authorization: Basic " . base64_encode("$username:$password"), "Connection: close\r\n" ) )); // set time zone to local German time date_default_timezone_set('Europe/Berlin'); $counter = 0; $calltime = time(); //do { $errorcount = 0; $errormessage = '







































'; $starttime = time(); //echo "Polling ADEI data.".PHP_EOL; for ($id = 0; $id < sizeof($adeiChannel); $id++) { $adeiChannels = ""; for ($id2 = 0; $id2 < sizeof($adeiChannel[$id]); $id2++) { $adeiChannels = $adeiChannels . $adeiChannel[$id][$id2] . ","; } $adeiChannels = substr($adeiChannels, 0, strlen($adeiChannels) - 1); //$fileip = file_get_contents("http://katrin.kit.edu/adei/services/getdata.php?db_server=virtual&db_name=srctree&db_group=-3&control_group=-3&virtual=srctree&srctree=" . $adeiChannels . "&window=50&format=csv", false, $context); //$fileip = file_get_contents("http://ipekatrinbackupserv1.ipe.kit.edu/adei/services/getdata.php?db_server=virtual&db_name=srctree&db_group=-3&control_group=-3&virtual=srctree&srctree=" . $adeiChannels . "&window=60&format=csv", false, $context); // $fileip = file_get_contents("http://katrin.kit.edu/adei-katrin/services/getdata.php?db_server=virtual&db_name=srctree&db_group=-3&control_group=-3&virtual=srctree&srctree=" . $adeiChannels . "&window=50&format=csv", false, $context); // new adei-katrin.kaas.kit.edu added //$fileip = file_get_contents("http://adei-katrin.kaas.kit.edu/adei/services/getdata.php?db_server=virtual&db_name=srctree&db_group=-3&control_group=-3&virtual=srctree&srctree=" . $adeiChannels . "&window=50&format=csv", false, $context); // new adei-katrin.kaas.kit.edu added and optimized readout parameters $fileip = file_get_contents("https://adei-katrin.kaas.kit.edu/adei/services/getdata.php?db_server=virtual&db_name=srctree&db_group=-3&control_group=-3&virtual=srctree&srctree=" . $adeiChannels . "&rt=full&window=3600,-1&format=csv", false, $context); //show_status($id+1,sizeof($adeiChannel)); if (substr($fileip,0,5) == "ERROR") {$errorcount++; $errormessage = $errormessage . "Error loading ADEI channel " . $id . "
";} for ($id2 = sizeof($adeiChannel[$id]) - 1 ; $id2 > -1; $id2--) { $pos = strrpos($fileip, ","); $adeiValue[$id][$id2] = floatval(substr($fileip, $pos + 2)); $fileip = substr($fileip, 0, $pos); //echo $id . " " . $id2 . " " . $adeiValue[$id][$id2] . PHP_EOL; } } if ($errorcount >0) echo $errormessage; // increse loop counter $counter ++; $stoptime = time(); // $wait_till = $starttime + 11; if ($stoptime-$starttime > 10) {$errormessage .= "ERROR: delayed readout ".($stoptime-$starttime)." s "; $errorcount++;} //echo "Writing ADEI data to file.".PHP_EOL; $strFileContent = "<"."?php".PHP_EOL."$"."adeiValue = ".var_export($adeiValue, true).";".PHP_EOL.PHP_EOL; $strFileContent .= "$"."extraction_time = '". date(DATE_RFC850) ."';".PHP_EOL.PHP_EOL; $strFileContent .= "$"."extraction_timestamp = ". time() .";".PHP_EOL.PHP_EOL; $strFileContent .= "$"."errorcount = ". $errorcount .";".PHP_EOL.PHP_EOL; $strFileContent .= "$"."errormessage = '". $errormessage ."';".PHP_EOL.PHP_EOL; $strFileContent .= "$"."valuesincluded = 1;".PHP_EOL.PHP_EOL; $strFileContent .= "?".">".PHP_EOL; // write ADEI data to file $file_w = fopen('ADEIvalues.php', 'w+'); //sleep(5); fwrite($file_w, $strFileContent); fclose($file_w); // write log file $log_message = ""; $log_message = date(DATE_RFC850).": ADEI data polled: loop ".$counter; $log_message .= ", poll time ".($stoptime-$starttime)." s"; if ($stoptime-$starttime > 15) $log_message .= ", delayed readout"; $log_message .= PHP_EOL; $file_log = fopen('logs/poll_adei_data.log', 'a'); fwrite($file_log, $log_message); fclose($file_log); //echo "Loop ".$counter." done.".PHP_EOL; // if ($wait_till <= $stoptime) sleep(3); // else time_sleep_until($wait_till); //} while (($counter < 10) && (time() < $calltime + 51)); //echo "All loops done.".PHP_EOL; ?>