X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/2cbbd3f2b8bed8cf096170137045d9721452745d..a6f0a90f05a91a3724c31184c056fd868dc94dce:/cookbooks/nominatim/templates/default/updater.erb diff --git a/cookbooks/nominatim/templates/default/updater.erb b/cookbooks/nominatim/templates/default/updater.erb index d8c9666ce..d5ba2e0be 100644 --- a/cookbooks/nominatim/templates/default/updater.erb +++ b/cookbooks/nominatim/templates/default/updater.erb @@ -3,31 +3,35 @@ # DO NOT EDIT - This file is being maintained by Chef # Change to Nominatim directory -DIR="$( cd "$( dirname "$0" )" && pwd )" -cd $DIR/.. +cd <%= @bindir %> + +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 >> <%= node[:nominatim][:logdir] %>/update.log 2>&1 - starttime=`date +%s` + exec >> <%= @logfile %> 2>&1 + + current_load=`cat /proc/loadavg | cut -f 2 -d ' ' | sed 's:\..*::'` - ./utils/update.php --no-npi --import-osmosis + if [[ $current_load -lt $num_cpus ]] + then + INST=2 + else + INST=1 + fi + ./utils/update.php --import-osmosis --index-instances $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 - - # 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 - fi + popd +<% end -%> done