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