]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tile/templates/default/cleanup-tiles.erb
Use a lock file to stop multiple tile expirys running at once
[chef.git] / cookbooks / tile / templates / default / cleanup-tiles.erb
index 8a2c062be8a8a968f9f2c967cfb0fc4db310444f..9209a2644d8116663b16cbfc60b951ba52981625 100644 (file)
@@ -7,13 +7,17 @@ use warnings;
 
 use File::Temp qw(tmpnam);
 use Filesys::Df;
+use LockFile::Simple qw(lock unlock);
 
 my $tiledir = shift @ARGV;
+
+lock($tiledir) || exit 0;
+
 my $tempfile = tmpnam();
 
 if (df($tiledir)->{per} > 90)
 {
-    system("find", $tiledir, "-xdev", "-type", "f", "-name", "*.meta", "-atime", "+28", "-fprintf", $tempfile, "%A@ %p\n");
+    system("find", $tiledir, "-xdev", "-type", "f", "-name", "*.meta", "-atime", "+35", "-fprintf", $tempfile, "%A@ %p\n");
 
     open(TILES, "-|", "sort", "-n", $tempfile) || die "Can't open $tempfile: $!";
 
@@ -45,4 +49,6 @@ if (df($tiledir)->{per} > 90)
 
 unlink($tempfile);
 
+unlock($tiledir);
+
 exit 0;