Skip to content

Commit

Permalink
Switch to metatile based expiry on render servers
Browse files Browse the repository at this point in the history
  • Loading branch information
tomhughes committed Jun 16, 2024
1 parent 50c5e66 commit be274e1
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
37 changes: 29 additions & 8 deletions cookbooks/tile/templates/default/expire-tiles.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,37 @@

# DO NOT EDIT - This file is being maintained by Chef

args = [
"--socket=/var/run/renderd/renderd.sock",
"--tile-dir=/srv/tile.openstreetmap.org/tiles",
"--touch-from=13",
"--min-zoom=13"
tileDirs = [
<% node[:tile][:styles].each_key do |name| -%>
"/srv/tile.openstreetmap.org/tiles/#{name}",
<% end -%>
]

Dir.glob("/var/lib/replicate/expire-queue/changes-*.txt").sort.each do |f|
<% node[:tile][:styles].each do |name,details| -%>
system("/usr/bin/render_expired", "--map=<%= name %>", *args, "--max-zoom=<%= details[:max_zoom] %>", :in=> f) &&
<% end -%>
File.open(f, "r") do |file|
file.each do |line|
z, y, x = line.split("/")

z = z.to_i + 3
y = y.to_i * 8
x = x.to_i * 8

hash = []

1.upto(5) do
hash.push(((x & 0xf) << 4) | (y & 0xf))

x = x >> 4
y = y >> 4
end

tileName = "#{z}/#{hash[4]}/#{hash[3]}/#{hash[2]}/#{hash[1]}/#{hash[0]}.meta"

tileDirs.each do |tileDir|
FileUtils.touch("#{tileDir}/#{tileName}") if File.exist?("#{tileDir}/#{tileName}")
end
end
end

File::unlink(f)
end
2 changes: 1 addition & 1 deletion cookbooks/tile/templates/default/replicate.erb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ do
-- \
--number-processes=1 \
--log-progress=false \
--expire-tiles=13-19 \
--expire-tiles=10-16 \
--expire-segment-length=90000 \
--expire-output=/var/lib/replicate/dirty-tiles.txt \
<% if node[:tile][:database][:multi_geometry] -%>
Expand Down

0 comments on commit be274e1

Please sign in to comment.