Skip to content

Commit 45e61df

Browse files
committed
Load Minion backend providers on demand.
1 parent 19b2503 commit 45e61df

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

cpanfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ requires 'Log::Log4perl';
8484
requires 'Log::Log4perl::Appender::ScreenColoredLevels';
8585
requires 'Minion', '>= 5.01';
8686
requires 'Minion::Backend::SQLite';
87+
requires 'Module::Load';
8788
requires 'Module::Metadata', '1.000022';
8889
requires 'Module::Pluggable';
8990
requires 'Module::Runtime';

lib/MetaCPAN/Queue/Helper.pm

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ use Moose;
44

55
use File::Temp;
66
use MetaCPAN::Types qw( HashRef );
7-
use Minion::Backend::Pg;
8-
use Minion::Backend::SQLite;
7+
use Module::Load qw( load );
98

109
has backend => (
1110
is => 'ro',
@@ -20,10 +19,14 @@ has backend => (
2019
sub _build_backend {
2120
my $self = shift;
2221

23-
return $ENV{HARNESS_ACTIVE}
24-
? { SQLite => 'sqlite:'
25-
. File::Temp->new( UNLINK => 1, SUFFIX => '.db' ) }
26-
: { Pg => 'postgresql://vagrant@localhost/minion_queue' };
22+
if ( $ENV{HARNESS_ACTIVE} ) {
23+
load(Minion::Backend::SQLite);
24+
my $file = File::Temp->new( UNLINK => 1, SUFFIX => '.db' );
25+
return { SQLite => 'sqlite:' . $file };
26+
}
27+
28+
load(Minion::Backend::Pg);
29+
return { Pg => 'postgresql://vagrant@localhost/minion_queue' };
2730
}
2831

2932
__PACKAGE__->meta->make_immutable;

0 commit comments

Comments
 (0)