@@ -, +, @@ --- Koha/BackgroundJobs.pm | 21 --------------------- misc/workers/es_indexer_daemon.pl | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 22 deletions(-) --- a/Koha/BackgroundJobs.pm +++ a/Koha/BackgroundJobs.pm @@ -72,27 +72,6 @@ sub filter_by_current { ); } -=head3 finish - - my $jobs->finish; - -Finishes multiple jobs, assumes you have handled success or failure. - -=cut - -sub finish { - my ($self) = @_; - - while( my $job = $self->next ){ - $job->update({ - progress => $job->size(), - status => 'finished', - ended_on =>\'NOW()' - },{ no_triggers => 1}); - } - -} - =head2 Internal methods =head3 _type --- a/misc/workers/es_indexer_daemon.pl +++ a/misc/workers/es_indexer_daemon.pl @@ -151,6 +151,15 @@ sub commit { my @bib_records; my @auth_records; + + my $jobs = Koha::BackgroundJobs->search( { id => [ map { $_->id } @jobs ] }); + # Start + $jobs->update({ + progress => 0, + status => 'started', + started_on => \'NOW()', + }); + for my $job (@jobs) { my $args = try { $job->json->decode( $job->data ); @@ -182,5 +191,10 @@ sub commit { }; } - Koha::BackgroundJobs->search( { id => [ map { $_->id } @jobs ] })->finish(); + # Finish + $jobs->update({ + progress => 1, + status => 'finished', + ended_on => \'NOW()', + }); } --