]> git.openstreetmap.org Git - chef.git/blob - cookbooks/nominatim/templates/default/nominatim-update.erb
nominatim: reload gunicorn after updating source
[chef.git] / cookbooks / nominatim / templates / default / nominatim-update.erb
1 #!/bin/bash
2
3 # DO NOT EDIT - This file is being maintained by Chef
4
5 date "+%c === Starting Nominatim update cycle"
6
7 starttime=`date +%s`
8
9 <% if node[:nominatim][:enable_git_updates] -%>
10 if /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-source; then
11   pushd <%= @builddir %>
12   make install
13 <% if node[:nominatim][:api_flavour] == "python" -%>
14   systemctl reload nominatim
15 <% end -%>
16
17   if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-refresh-db; then
18     date "+%c === Database refresh failed. Stopping updates."
19     exit 1
20   fi
21 fi
22 <% end -%>
23
24 if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-data; then
25   date "+%c === Data update failed. Stopping updates."
26   exit 1
27 fi
28
29 date "+%c === Nominatim update cycle finished"
30
31 # sleep a bit if updates take less than a minute
32 endtime=`date +%s`
33 elapsed=$((endtime - starttime))
34 if [[ $elapsed -lt 60 ]]; then
35   sleepy=$((60 - $elapsed))
36   date "+%c === Sleeping for ${sleepy}s..."
37   sleep $sleepy
38 fi