make local job queue a memory only DB
This commit is contained in:
@@ -5,19 +5,6 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use base 'DBIx::Class::Schema';
|
use base 'DBIx::Class::Schema';
|
||||||
|
|
||||||
__PACKAGE__->load_namespaces;
|
__PACKAGE__->load_namespaces;
|
||||||
|
|
||||||
our $VERSION = 1; # schema version used for upgrades, keep as integer
|
|
||||||
|
|
||||||
use Path::Class;
|
|
||||||
use File::Basename;
|
|
||||||
|
|
||||||
my (undef, $libpath, undef) = fileparse( $INC{ 'App/Netdisco/Daemon/DB.pm' } );
|
|
||||||
our $schema_versions_dir = Path::Class::Dir->new($libpath)
|
|
||||||
->subdir("DB", "schema_versions")->stringify;
|
|
||||||
|
|
||||||
__PACKAGE__->load_components(qw/Schema::Versioned/);
|
|
||||||
__PACKAGE__->upgrade_directory($schema_versions_dir);
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ our @EXPORT = ();
|
|||||||
our @EXPORT_OK = qw/ add_jobs take_jobs reset_jobs /;
|
our @EXPORT_OK = qw/ add_jobs take_jobs reset_jobs /;
|
||||||
our %EXPORT_TAGS = ( all => \@EXPORT_OK );
|
our %EXPORT_TAGS = ( all => \@EXPORT_OK );
|
||||||
|
|
||||||
|
schema('daemon')->deploy;
|
||||||
my $queue = schema('daemon')->resultset('Admin');
|
my $queue = schema('daemon')->resultset('Admin');
|
||||||
|
|
||||||
sub add_jobs {
|
sub add_jobs {
|
||||||
@@ -39,30 +40,4 @@ sub reset_jobs {
|
|||||||
->update({wid => 0});
|
->update({wid => 0});
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
my $daemon = schema('daemon');
|
|
||||||
|
|
||||||
# deploy local db if not already done
|
|
||||||
try {
|
|
||||||
$daemon->storage->dbh_do(sub {
|
|
||||||
my ($storage, $dbh) = @_;
|
|
||||||
$dbh->selectrow_arrayref("SELECT * FROM admin WHERE 0 = 1");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
$daemon->txn_do(sub {
|
|
||||||
$daemon->storage->disconnect;
|
|
||||||
$daemon->deploy;
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
$daemon->storage->disconnect;
|
|
||||||
if ($daemon->get_db_version < $daemon->schema_version) {
|
|
||||||
$daemon->txn_do(sub { $daemon->upgrade });
|
|
||||||
}
|
|
||||||
|
|
||||||
# empty local db of any stale queued jobs
|
|
||||||
$daemon->resultset('Admin')->delete;
|
|
||||||
}
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
Reference in New Issue
Block a user