make local job queue a memory only DB

This commit is contained in:
Oliver Gorwits
2013-01-02 16:14:29 +00:00
parent 8d9ede6717
commit d7f4d2db5d
2 changed files with 1 additions and 39 deletions

View File

@@ -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;

View File

@@ -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;