[ -f sequence-prev.txt ] && mv sequence-prev.txt sequence.txt
}
-# Send output to the log
-exec > /var/log/tile/replicate.log 2>&1
-
# Change to the replication state directory
cd /var/lib/replicate
cp sequence.txt sequence-prev.txt
# Fetch the next set of changes
- pyosmium-get-changes --sequence-file=sequence.txt --outfile=${file}
+ pyosmium-get-changes --server=<%= node[:tile][:replication][:url] %> --sequence-file=sequence.txt --outfile=${file}
# Save exit status
status=$?
# Apply the changes to the database
osm2pgsql --database gis --slim --append --number-processes=1 \
-<% if node[:tile][:node_file] -%>
- --flat-nodes=<%= node[:tile][:node_file] %> \
+<% if node[:tile][:database][:node_file] -%>
+ --flat-nodes=<%= node[:tile][:database][:node_file] %> \
+<% end -%>
+<% if node[:tile][:database][:multi_geometry] -%>
+ --multi-geometry \
+<% end -%>
+<% if node[:tile][:database][:hstore] -%>
+ --hstore \
<% end -%>
-<% if node[:tile][:styles][:default][:revision] >= "v4.0.0" -%>
- --multi-geometry --hstore \
- --style=/srv/tile.openstreetmap.org/styles/default/openstreetmap-carto.style \
- --tag-transform-script=/srv/tile.openstreetmap.org/styles/default/openstreetmap-carto.lua \
+<% if node[:tile][:database][:style_file] -%>
+ --style=<%= node[:tile][:database][:style_file] %> \
+<% end -%>
+<% if node[:tile][:database][:tag_transform_script] -%>
+ --tag-transform-script=<%= node[:tile][:database][:tag_transform_script] %> \
<% end -%>
${file}
# No need to rollback now
rm sequence-prev.txt
+ # Get buffer count
+ buffers=$(osmium fileinfo --extended --get=data.buffers.count ${file})
+
+ # If this diff has content mark it as the latest diff
+ if [ $buffers -gt 0 ]
+ then
+ ln -f ${file} changes-latest.osc.gz
+ fi
+
# Queue these changes for expiry processing
- ln ${file} expire-queue/$file
+ ln ${file} expire-queue/${file}
# Delete old downloads
find . -name 'changes-*.gz' -mmin +300 -exec rm -f {} \;