X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/e1eee7937a3b5f480697025d783104f0a5711eb2..35419e88898f1c80bb367f489f764f64439543a9:/cookbooks/tile/templates/default/cleanup-tiles.erb diff --git a/cookbooks/tile/templates/default/cleanup-tiles.erb b/cookbooks/tile/templates/default/cleanup-tiles.erb index 9209a2644..b0a6a7419 100644 --- a/cookbooks/tile/templates/default/cleanup-tiles.erb +++ b/cookbooks/tile/templates/default/cleanup-tiles.erb @@ -7,17 +7,19 @@ use warnings; use File::Temp qw(tmpnam); use Filesys::Df; -use LockFile::Simple qw(lock unlock); +use LockFile::Simple; my $tiledir = shift @ARGV; -lock($tiledir) || exit 0; +my $lockmgr = LockFile::Simple->make(-autoclean => 1, -max => 1, -hold => 0, -warn => 0); + +$lockmgr->lock("${tiledir}/cleanup") || exit 0; my $tempfile = tmpnam(); if (df($tiledir)->{per} > 90) { - system("find", $tiledir, "-xdev", "-type", "f", "-name", "*.meta", "-atime", "+35", "-fprintf", $tempfile, "%A@ %p\n"); + system("find", $tiledir, "-xdev", "-name", "lost+found", "-prune", "-o", "-type", "f", "-name", "*.meta", "-atime", "+10", "-fprintf", $tempfile, "%A@ %p\n"); open(TILES, "-|", "sort", "-n", $tempfile) || die "Can't open $tempfile: $!"; @@ -49,6 +51,6 @@ if (df($tiledir)->{per} > 90) unlink($tempfile); -unlock($tiledir); +$lockmgr->unlock("${tiledir}/cleanup"); exit 0;