Guard against network failures in getDatabaseDate()

When updating use the date from the diff file instead
as we are guaranteed to get this if the file has been
successfully loaded.
This commit is contained in:
Sarah Hoffmann
2017-06-09 21:49:31 +02:00
parent 7448d3f171
commit 4e6c75040e
4 changed files with 57 additions and 5 deletions

View File

@@ -67,6 +67,9 @@ if ($aResult['init-updates']) {
}
$sDatabaseDate = getDatabaseDate($oDB);
if ($sDatabaseDate === false) {
fail("Cannot determine date of database.");
}
$sWindBack = strftime('%Y-%m-%dT%H:%M:%SZ',
strtotime($sDatabaseDate) - (3*60*60));
@@ -293,7 +296,14 @@ if ($aResult['import-osmosis'] || $aResult['import-osmosis-all']) {
// write the update logs
$iFileSize = filesize($sImportFile);
$sBatchEnd = getDatabaseDate($oDB);
// 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));