function updataKml($kmls, $starttime, $file = '', $source = 1, $topic) { //访问API $kmlUpdateApi = getConfig('kmlUpdateApi'); $unique = unique_arr($kmls); //去重 //print_r($unique);exit; $soadata = formatApiData($unique); //去重 $returnData = curlPost($kmlUpdateApi, array('data' => $soadata)); logs($returnData, 1, 'consumer', $topic); print_r($returnData); exit; //logs(' Access :'.$kmlUpdateApi, 1, 'consumer',$topic); //logs(' Params is:'.json_encode($data), 1, 'consumer',$topic); //logs(' Return is:'.$returnData, 1, 'consumer',$topic); $cachePath = getconfig('kmlCachePath'); $cacheBack = getconfig('kmlCacheBak'); //验证还回结果 $objs = json_decode($returnData); if (empty($returnData) || $objs->status != 0 || empty($objs->data)) { if ($source == 2) { $dir = $cacheBack . '/' . date('Y-m-d') . '/' . $topic; mkFolder($dir); $toPath = $dir . '/' . basename($file); moveFile($file, $toPath); logs(date('H:i:s') . ' API error:' . $objs->msg . '; file:' . $file . ' has move to ' . $toPath, 1, 'consumer', $topic); } else { if ($objs->status < 3) { $cacheTopicPath = $cachePath . '/' . $topic; mkFolder($cacheTopicPath); $filename = basename($file); $source = $cacheTopicPath . '/' . $filename; file_put_contents($source, $data); logs(date('H:i:s') . ' API error:' . $objs->msg . '; file:' . $file . ' has backup to ' . $source, 1, 'consumer', $topic); } else { $backFile = $cacheBack . '/' . basename($file); moveFile($file, $backFile); logs(date('H:i:s') . ' API error:' . $objs->msg . '; file ' . basename($file) . 'has move to ' . $backFile, 1, 'consumer', $topic); } } } if ($source == 2) { if (file_exists($file)) { unlink($file); } } $arr = object2Array($objs); $returnKml = $arr['data']; $insertNum = 0; if ($source == 1) { $insertNum = addKml($returnKml, $kmls, $topic); } logs('kafka num:' . count($kmls) . ',send data num:' . count($unique) . ', API return:' . count($returnKml) . ',insertNum:' . $insertNum . ',Time: ' . getTime($starttime), 1, 'consumer', $topic); $kmls = ''; }
function backFile($f) { $fileArr = explode('/', $f); $filename = $fileArr[count($fileArr) - 1]; //$path = getconfig('kmlBakPath').'/'.date('Y-m-d')); //mkFolder($path); $path = getconfig('kmlBakPath'); if (file_exists($f)) { // moveFile($f, $path.'/'.$filename); $kmlBakPath = '/home/webdata/htdocs/data/feiniu/snd/NEW_KML_BACKUP/' . date('Y-m-d'); mkFolder($kmlBakPath); moveFile($f, $kmlBakPath . '/' . $filename); logs("success move to " . $kmlBakPath); } logs("success move to bakkup"); }
function mkFolder($Folder) { if (!is_readable($Folder)) { mkFolder(dirname($Folder)); if (!is_file($Folder)) { mkdir($Folder, 0777); } } }