make local job queue a memory only DB
This commit is contained in:
@@ -5,19 +5,6 @@ use strict;
|
||||
use warnings;
|
||||
|
||||
use base 'DBIx::Class::Schema';
|
||||
|
||||
__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;
|
||||
|
||||
@@ -9,6 +9,7 @@ our @EXPORT = ();
|
||||
our @EXPORT_OK = qw/ add_jobs take_jobs reset_jobs /;
|
||||
our %EXPORT_TAGS = ( all => \@EXPORT_OK );
|
||||
|
||||
schema('daemon')->deploy;
|
||||
my $queue = schema('daemon')->resultset('Admin');
|
||||
|
||||
sub add_jobs {
|
||||
@@ -39,30 +40,4 @@ sub reset_jobs {
|
||||
->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;
|
||||
|
||||
Reference in New Issue
Block a user