#!/bin/bash # DO NOT EDIT - This file is being maintained by Chef date "+%c === Starting Nominatim update cycle" starttime=`date +%s` EXTRA_PIP='--extra-index-url <%= node[:nominatim][:pip_index] %>' # First update the importer and run the migrations. if <%= @venvprefix %>pip list $EXTRA_PIP --outdated | fgrep -q nominatim-db; then <%= @venvprefix %>pip install $EXTRA_PIP -U nominatim-db if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-refresh-db; then date "+%c === Database refresh failed. Stopping updates." exit 1 fi fi # Then only attempt to update the frontend. if <%= @venvprefix %>pip list $EXTRA_PIP --outdated | fgrep -q nominatim-api; then <%= @venvprefix %>pip install $EXTRA_PIP -U nominatim-api systemctl reload nominatim fi if ! /sbin/runuser -u nominatim -- <%= @bindir %>/nominatim-update-data; then date "+%c === Data update failed. Stopping updates." exit 1 fi date "+%c === Nominatim update cycle finished" # sleep a bit if updates take less than a minute endtime=`date +%s` elapsed=$((endtime - starttime)) if [[ $elapsed -lt 60 ]]; then sleepy=$((60 - $elapsed)) date "+%c === Sleeping for ${sleepy}s..." sleep $sleepy fi