]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/nominatim/templates/default/updater.erb
nominatim: complete rework of the setup
[chef.git] / cookbooks / nominatim / templates / default / updater.erb
index 8345205cb74099bf3baae9b42cdf8717efa4aed0..c83d76964df69326737089ba2dc48dfdaf556627 100644 (file)
@@ -6,24 +6,23 @@
 cd <%= @bindir %>
 
 num_cpus=`cat /proc/cpuinfo | grep -c processor`
-num_cpus=(($num_cpus - 2))
+num_cpus=$((num_cpus - 2))
 
 while [ ! -f "<%= @update_stop_file %>" ]
 do
     # Send output to the log (logrotatable)
     exec >> <%= @logfile %> 2>&1
-    starttime=`date +%s`
 
     current_load=`cat /proc/loadavg | cut -f 2 -d ' ' | sed 's:\..*::'`
 
     if [[ $current_load -lt $num_cpus ]]
     then
-        INST=2
+        INST=4
     else
-        INST=1
+        INST=2
     fi
 
-    ./utils/update.php --no-npi --import-osmosis --index-instances $INST
+    ./nominatim replication --once --threads $INST
 
 <% if node[:nominatim][:enable_git_updates] -%>
     pushd <%= @srcdir %>
@@ -36,13 +35,19 @@ do
     popd
 <% end -%>
 
-    # sleep a bit if updates take less than a minute
-    endtime=`date +%s`
-    elapsed=$((endtime - starttime))
-    if [[ $elapsed -lt 60 ]]
-    then
-        sleepy=$((60 - $elapsed))
-        echo "Sleeping for ${sleepy}s..."
-        sleep $sleepy
+    if [ -f "<%= @update_maintenance_trigger %>" ]; then
+        rm <%= @update_maintenance_trigger %>
+        ./nominatim refresh --postcodes --word-tokens --threads 4 -v
+<% if node[:nominatim][:enable_qa_tiles] -%>
+        pushd <%= @qabindir %>
+        if python3 cli.py --execute-all; then
+          rm -rf "<%= @qadatadir %>/old"
+          if [ -d "<%= @qadatadir %>/current" ]; then
+            mv "<%= @qadatadir %>/current" "<%= @qadatadir %>/old"
+          fi
+          mv "<%= @qadatadir %>/new" "<%= @qadatadir %>/current"
+        fi
+        popd
+<% end -%>
     fi
 done