From 0ec7f739bf7f3720de0cdb8cc8bf7e846a7c1302 Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Tue, 30 Jun 2020 07:43:43 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E2=80=94=20Fix=20possible=20hig?= =?UTF-8?q?h=20load=20due=20to=20concurrent=20provisioning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Lufi.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/Lufi.pm b/lib/Lufi.pm index 4f961f3..efeb40e 100644 --- a/lib/Lufi.pm +++ b/lib/Lufi.pm @@ -2,6 +2,7 @@ package Lufi; use Mojo::Base 'Mojolicious'; use Mojolicious::Sessions; +use Mojo::File; use Email::Valid; use Data::Validate::URI qw(is_web_uri); use Lufi::DefaultConfig qw($default_config); @@ -76,7 +77,14 @@ sub startup { Mojo::IOLoop->recurring(2 => sub { my $loop = shift; + my $lockfile = Mojo::File->new($ENV{MOJO_CONFIG})->basename('.conf').'-provisioning.lock'; + return if -e $lockfile; + + $lockfile = Mojo::File->new($lockfile)->touch(); + $self->provisioning(); + + $lockfile->remove(); }); # Create directory if needed