From: Tom Hughes Date: Wed, 7 Aug 2013 08:03:31 +0000 (+0100) Subject: Cleanup temporary files from the export CGI script X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/cd5f81c16c88e1ba51f7db9c6c8b49dc04c708aa?ds=sidebyside Cleanup temporary files from the export CGI script --- diff --git a/cookbooks/tile/recipes/default.rb b/cookbooks/tile/recipes/default.rb index 2e17ac58b..bb8b347ed 100644 --- a/cookbooks/tile/recipes/default.rb +++ b/cookbooks/tile/recipes/default.rb @@ -121,6 +121,13 @@ template "/srv/tile.openstreetmap.org/cgi-bin/export" do variables :blocks => blocks end +template "/etc/cron.hourly/export" do + source "export.cron.erb" + owner "root" + group "root" + mode 0755 +end + directory "/srv/tile.openstreetmap.org/data" do owner "tile" group "tile" diff --git a/cookbooks/tile/templates/default/export.cron.erb b/cookbooks/tile/templates/default/export.cron.erb new file mode 100644 index 000000000..da828546e --- /dev/null +++ b/cookbooks/tile/templates/default/export.cron.erb @@ -0,0 +1,4 @@ +#!/bin/sh + +# Removes stale tmp files from the export tab +exec find /tmp -name 'export??????' -mmin +60 -delete diff --git a/cookbooks/tile/templates/default/export.erb b/cookbooks/tile/templates/default/export.erb old mode 100755 new mode 100644 index ae37fee3a..d178df4ce --- a/cookbooks/tile/templates/default/export.erb +++ b/cookbooks/tile/templates/default/export.erb @@ -129,21 +129,21 @@ else: output_headers("image/jpeg", "map.jpg", len(jpeg)) sys.stdout.write(jpeg) elif form.getvalue("format") == "svg": - file = tempfile.NamedTemporaryFile() + file = tempfile.NamedTemporaryFile(prefix = "export") surface = cairo.SVGSurface(file.name, map.width, map.height) mapnik.render(map, surface) surface.finish() output_headers("image/svg+xml", "map.svg", file_size(file)) output_file(file) elif form.getvalue("format") == "pdf": - file = tempfile.NamedTemporaryFile() + file = tempfile.NamedTemporaryFile(prefix = "export") surface = cairo.PDFSurface(file.name, map.width, map.height) mapnik.render(map, surface) surface.finish() output_headers("application/pdf", "map.pdf", file_size(file)) output_file(file) elif form.getvalue("format") == "ps": - file = tempfile.NamedTemporaryFile() + file = tempfile.NamedTemporaryFile(prefix = "export") surface = cairo.PSSurface(file.name, map.width, map.height) mapnik.render(map, surface) surface.finish()