]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/overpass/templates/default/overpass-update-db.erb
overpass: switch to self-restarting update service
[chef.git] / cookbooks / overpass / templates / default / overpass-update-db.erb
index 5ac8d15701dc5115b6f7ef59e8e8337cc6709d7e..09b8648fb4eeb075a52f20403f6706bc07e519ef 100644 (file)
@@ -13,35 +13,33 @@ META=--keep-attic
 META=
 <% end -%>
 
-while true; do
-  status=3 # make it sleep on issues
+status=3 # make it sleep on issues
 
-  if [ -f <%= @basedir %>/db/replicate-id ]; then
-    # first apply any pending updates
-    if [ -f <%= @basedir %>/diffs/latest.osc ]; then
-      DATA_VERSION=`osmium fileinfo -e -g data.timestamp.last <%= @basedir %>/diffs/latest.osc`
-      if [ "x$DATA_VERSION" != "x" ]; then
-        echo "Downloaded up to timestamp $DATA_VERSION"
-        while ! <%= @basedir %>/bin/update_from_dir --osc-dir=<%= @basedir %>/diffs --version=$DATA_VERSION $META --flush-size=0; do
-          echo "Error while updating. Retry in 1 min."
-          sleep 60
-        done
-      fi
-      rm <%= @basedir %>/diffs/latest.osc
+if [ -f <%= @basedir %>/db/replicate-id ]; then
+  # first apply any pending updates
+  if [ -f <%= @basedir %>/diffs/latest.osc ]; then
+    DATA_VERSION=`osmium fileinfo -e -g data.timestamp.last <%= @basedir %>/diffs/latest.osc`
+    if [ "x$DATA_VERSION" != "x" ]; then
+      echo "Downloaded up to timestamp $DATA_VERSION"
+      while ! <%= @basedir %>/bin/update_from_dir --osc-dir=<%= @basedir %>/diffs --version=$DATA_VERSION $META --flush-size=0; do
+        echo "Error while updating. Retry in 1 min."
+        sleep 60
+      done
     fi
-
-    $PYOSMIUM -v -s 1000 -o <%= @basedir %>/diffs/latest.osc
-    status=$?
-  fi
-
-  if [ $status -eq 0 ]; then
-    echo "Downloaded next batch."
-  elif [ $status -eq 3 ]; then
     rm <%= @basedir %>/diffs/latest.osc
-    echo "No new data, sleeping for a minute."
-    sleep 60
-  else
-    echo "Fatal error, stopping updates."
-    exit $status
   fi
-done
+
+  $PYOSMIUM -v -s 1000 -o <%= @basedir %>/diffs/latest.osc
+  status=$?
+fi
+
+if [ $status -eq 0 ]; then
+  echo "Downloaded next batch."
+elif [ $status -eq 3 ]; then
+  rm <%= @basedir %>/diffs/latest.osc
+  echo "No new data, sleeping for a minute."
+  sleep 60
+else
+  echo "Fatal error, stopping updates."
+  exit $status
+fi