1 package SL::BackgroundJob::Base;
5 use parent qw(Rose::Object);
7 use SL::DB::BackgroundJob;
9 sub create_standard_job {
10 my $self_or_class = shift;
11 my $cron_spec = shift;
13 my $package = ref($self_or_class) || $self_or_class;
14 $package =~ s/SL::BackgroundJob:://;
16 my %params = (cron_spec => $cron_spec || '* * * * *',
19 package_name => $package);
21 my $job = SL::DB::Manager::BackgroundJob->find_by(package_name => $params{package_name});
23 $job = SL::DB::BackgroundJob->new(%params)->update_next_run_at;
25 $job->assign_attributes(%params)->update_next_run_at;