# DO NOT EDIT - This file is being maintained by Chef
# Change to Nominatim directory
-DIR="$( cd "$( dirname "$0" )" && pwd )"
-cd $DIR/..
+cd <%= @bindir %>
-while true
+num_cpus=`cat /proc/cpuinfo | grep -c processor`
+num_cpus=$((num_cpus - 2))
+
+while [ ! -f "<%= @update_stop_file %>" ]
do
# Send output to the log (logrotatable)
- exec >> /var/log/nominatim/update.log 2>&1
- starttime=`date +%s`
+ exec >> <%= @logfile %> 2>&1
- ./utils/update.php --no-npi --import-osmosis
+ current_load=`cat /proc/loadavg | cut -f 2 -d ' ' | sed 's:\..*::'`
+ if [[ $current_load -lt $num_cpus ]]
+ then
+ INST=4
+ else
+ INST=2
+ fi
+
+ ./nominatim replication --once --threads $INST
+
+<% if node[:nominatim][:enable_git_updates] -%>
+ pushd <%= @srcdir %>
if git fetch origin; then
# will trigger recompilation if necessary
- git merge origin/master
+ git merge origin/<%= @branch %>
else
echo "WARNING: git fetch failed."
fi
+ 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