]> git.openstreetmap.org Git - nominatim.git/commitdiff
Merge remote-tracking branch 'upstream/master'
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 11 Jun 2017 07:27:18 +0000 (09:27 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 11 Jun 2017 07:27:18 +0000 (09:27 +0200)
1  2 
utils/update.php

diff --combined utils/update.php
index 099ca0b3d8e54848a164da0b2c66d6fd67f9ea13,d86117153c2efa4071fc02c213a96d6303eb648b..1f036ff000bda0b8a2537c729358655eed12111b
@@@ -38,7 -38,6 +38,7 @@@ $aCMDOption
  getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
  
  if (!isset($aResult['index-instances'])) $aResult['index-instances'] = 1;
 +
  if (!isset($aResult['index-rank'])) $aResult['index-rank'] = 0;
  
  date_default_timezone_set('Etc/UTC');
@@@ -242,9 -241,7 +242,7 @@@ if ($aResult['import-osmosis'] || $aRes
  
      while (true) {
          $fStartTime = time();
-         $iFileSize = 1001;
-         $aLastState = chksql($oDB->getRow('SELECT * FROM import_status'));
+         $aLastState = chksql($oDB->getRow('SELECT *, EXTRACT (EPOCH FROM lastimportdate) as unix_ts FROM import_status'));
  
          if (!$aLastState['sequence_id']) {
              echo "Updates not set up. Please run ./utils/update.php --init-updates.\n";
  
          if ($aLastState['indexed'] == 't') {
              // Sleep if the update interval has not yet been reached.
-             $fNextUpdate = $aLastState['lastimportdate'] + CONST_Replication_Update_Interval;
+             $fNextUpdate = $aLastState['unix_ts'] + CONST_Replication_Update_Interval;
              if ($fNextUpdate > $fStartTime) {
                  $iSleepTime = $fNextUpdate - $fStartTime;
                  echo "Waiting for next update for $iSleepTime sec.";
                  }
              } while ($iResult);
  
+             // get the newest object from the diff file
+             $sBatchEnd = 0;
+             $iRet = 0;
+             exec(CONST_BasePath.'/utils/osm_file_date.py '.$sImportFile, $sBatchEnd, $iRet);
+             if ($iRet == 5) {
+                 echo "Diff file is empty. skipping import.\n";
+                 if (!$aResult['import-osmosis-all']) {
+                     exit(0);
+                 } else {
+                     continue;
+                 }
+             }
+             if ($iRet != 0) {
+                 fail('Error getting date from diff file.');
+             }
+             $sBatchEnd = $sBatchEnd[0];
              // Import the file
              $fCMDStartTime = time();
              echo $sCMDImport."\n";
  
              // write the update logs
              $iFileSize = filesize($sImportFile);
-             // get the newest object from the diff file
-             $sBatchEnd = 0;
-             $iRet = 0;
-             exec(CONST_BasePath.'/utils/osm_file_date.py '.$sImportFile, $sBatchEnd, $iRet);
-             if ($iRet != 0) {
-                 fail('Error getting date from diff file.');
-             }
-             $sBatchEnd = $sBatchEnd[0];
              $sSQL = "INSERT INTO import_osmosis_log (batchend, batchseq, batchsize, starttime, endtime, event) values ('$sBatchEnd',$iEndSequence,$iFileSize,'".date('Y-m-d H:i:s', $fCMDStartTime)."','".date('Y-m-d H:i:s')."','import')";
              var_Dump($sSQL);
              chksql($oDB->query($sSQL));