X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/98f37c1019ea0e80d5a45a5633a0a182a43cbf9a..ba802064109d19f3488e5555ec04491681e37b51:/SL/DB/BackgroundJob.pm diff --git a/SL/DB/BackgroundJob.pm b/SL/DB/BackgroundJob.pm index c83868502..b567d364e 100644 --- a/SL/DB/BackgroundJob.pm +++ b/SL/DB/BackgroundJob.pm @@ -5,13 +5,13 @@ use strict; use DateTime::Event::Cron; use English qw(-no_match_vars); -require SL::DB::MetaSetup::BackgroundJob; -require SL::DB::Manager::BackgroundJob; - -require SL::DB::BackgroundJobHistory; +use SL::DB::MetaSetup::BackgroundJob; +use SL::DB::Manager::BackgroundJob; use SL::System::Process; +__PACKAGE__->meta->initialize; + __PACKAGE__->before_save('_before_save_set_next_run_at'); sub _before_save_set_next_run_at { @@ -36,6 +36,8 @@ sub run { my $run_at = DateTime->now_local; my $history; + require SL::DB::BackgroundJobHistory; + my $ok = eval { eval "require $package" or die $@; my $result = $package->new->run($self); @@ -43,7 +45,7 @@ sub run { $history = SL::DB::BackgroundJobHistory ->new(package_name => $self->package_name, run_at => $run_at, - status => 'success', + status => SL::DB::BackgroundJobHistory::SUCCESS(), result => $result, data => $self->data); $history->save; @@ -56,7 +58,7 @@ sub run { $history = SL::DB::BackgroundJobHistory ->new(package_name => $self->package_name, run_at => $run_at, - status => 'failure', + status => SL::DB::BackgroundJobHistory::FAILURE(), error_col => $error, data => $self->data); $history->save;