]> git.openstreetmap.org Git - chef.git/commitdiff
overpass: switch to self-restarting update service
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 30 Oct 2022 16:41:03 +0000 (17:41 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 30 Oct 2022 16:41:31 +0000 (17:41 +0100)
Fixes missing log data.

cookbooks/overpass/recipes/default.rb
cookbooks/overpass/templates/default/overpass-update-db.erb

index 3e7c538c902d4beb106a1ccf9e4192a4bd6d40b7..9908e330b65bcd16507a4c4c66786283f78bc85c 100644 (file)
@@ -185,6 +185,7 @@ systemd_service "overpass-update" do
   exec_start "#{basedir}/bin/overpass-update-db"
   standard_output "append:#{logdir}/update.log"
   user username
+  restart "on-success"
 end
 
 if node[:overpass][:meta_mode] == "attic"
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