From cd5f81c16c88e1ba51f7db9c6c8b49dc04c708aa Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 7 Aug 2013 09:03:31 +0100 Subject: [PATCH 1/1] Cleanup temporary files from the export CGI script --- cookbooks/tile/recipes/default.rb | 7 +++++++ cookbooks/tile/templates/default/export.cron.erb | 4 ++++ cookbooks/tile/templates/default/export.erb | 6 +++--- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 cookbooks/tile/templates/default/export.cron.erb mode change 100755 => 100644 cookbooks/tile/templates/default/export.erb 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() -- 2.43.2