]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tile/templates/default/render-lowzoom.erb
Add IP based rate limiting to the render servers
[chef.git] / cookbooks / tile / templates / default / render-lowzoom.erb
index de2a3ddc42f6e0f18aa512a7a3cfbc3c1998f8ed..95e4ed6e8f943610752b21d2e67cb02f96ef0efe 100644 (file)
@@ -4,17 +4,29 @@
 
 # Send output to the log
 exec > /var/log/tile/render-lowzoom.log 2>&1
+
+# Get current time
+timestamp=$(date +%s)
 <% node[:tile][:styles].each_key do |style| -%>
 
-# Update tiles from z0 to z12 for style "<%= @style %>"
-render_list \
-  --all --force \
-  --tile-dir=/srv/tile.openstreetmap.org/tiles \
-  --socket=/var/run/renderd/renderd.sock \
-  --num-threads=<%= ( node[:cpu][:total] - 2 ) / 4 %> \
-  --map="<%= style %>" \
-  --max-load=70 \
-  --min-zoom=0 --max-zoom=12
+# Define function to update tiles from z0 to z12 for style "<%= style %>"
+function update_<%= style %>
+{
+  render_old \
+    --timestamp=${timestamp} \
+    --tile-dir=/srv/tile.openstreetmap.org/tiles \
+    --socket=/var/run/renderd/renderd.sock \
+    --num-threads=<%= node[:cpu][:total] - 1 %> \
+    --map="<%= style %>" \
+    --max-load=<%= node[:cpu][:total] %> \
+    --min-zoom=0 --max-zoom=12
+}
+
+# Loop running the update command until it suceeds
+until update_<%= style %>
+do
+  sleep 30
+done
 <% end -%>
 
 exit 0