Update cookstyle todo
[chef.git] / cookbooks / nominatim / templates / default / updater.erb
1 #!/bin/bash -e
2
3 # DO NOT EDIT - This file is being maintained by Chef
4
5 # Change to Nominatim directory
6 cd <%= @bindir %>
7
8 num_cpus=`cat /proc/cpuinfo | grep -c processor`
9 num_cpus=$((num_cpus - 2))
10
11 while [ ! -f "<%= @update_stop_file %>" ]
12 do
13     # Send output to the log (logrotatable)
14     exec >> <%= @logfile %> 2>&1
15
16     current_load=`cat /proc/loadavg | cut -f 2 -d ' ' | sed 's:\..*::'`
17
18     if [[ $current_load -lt $num_cpus ]]
19     then
20         INST=4
21     else
22         INST=2
23     fi
24
25     ./nominatim replication --once --threads $INST
26
27 <% if node[:nominatim][:enable_git_updates] -%>
28     pushd <%= @srcdir %>
29     if git fetch origin; then
30       # will trigger recompilation if necessary
31       git merge origin/<%= @branch %>
32     else
33       echo "WARNING: git fetch failed."
34     fi
35     popd
36 <% end -%>
37
38     if [ -f "<%= @update_maintenance_trigger %>" ]; then
39         rm <%= @update_maintenance_trigger %>
40         ./nominatim refresh --postcodes
41     fi
42 done