X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=C4%2FBackgroundJob.pm;h=3dc3bce29ca6f2d8f0e52fc4805bd910a6389359;hb=7a8bed557618e26f867a74f53c1391c12acfb77a;hp=22baaae10491f309024e796f7b8cd71467df9c5c;hpb=a869ed04351d3ea1cc7fd54b822935491fec5b5a;p=koha_gimpoz diff --git a/C4/BackgroundJob.pm b/C4/BackgroundJob.pm index 22baaae104..3dc3bce29c 100644 --- a/C4/BackgroundJob.pm +++ b/C4/BackgroundJob.pm @@ -14,19 +14,22 @@ package C4::BackgroundJob; # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +#use warnings; FIXME - Bug 2505 use C4::Context; use C4::Auth qw/get_session/; use Digest::MD5; use vars qw($VERSION); -# set the version for version checking -$VERSION = 3.00; +BEGIN { + # set the version for version checking + $VERSION = 3.00; +} =head1 NAME @@ -35,43 +38,31 @@ initiated from the web staff interface =head1 SYNOPSIS -=over 4 - -# start tracking a job -my $job = C4::BackgroundJob->new($sessionID, $job_name, $job_invoker, $num_work_units); -my $jobID = $job->id(); -$job->progress($work_units_processed); -$job->finish($job_result_hashref); - -# get status and results of a job -my $job = C4::BackgroundJob->fetch($sessionID, $jobID); -my $max_work_units = $job->size(); -my $work_units_processed = $job->progress(); -my $job_status = $job->status(); -my $job_name = $job->name(); -my $job_invoker = $job->invoker(); -my $results_hashref = $job->results(); - -=back + # start tracking a job + my $job = C4::BackgroundJob->new($sessionID, $job_name, $job_invoker, $num_work_units); + my $jobID = $job->id(); + $job->progress($work_units_processed); + $job->finish($job_result_hashref); + + # get status and results of a job + my $job = C4::BackgroundJob->fetch($sessionID, $jobID); + my $max_work_units = $job->size(); + my $work_units_processed = $job->progress(); + my $job_status = $job->status(); + my $job_name = $job->name(); + my $job_invoker = $job->invoker(); + my $results_hashref = $job->results(); This module manages tracking the progress and results of (potentially) long-running jobs initiated from the staff user interface. Such jobs can include batch MARC and patron record imports. -=cut - =head1 METHODS -=cut - =head2 new -=over 4 - -my $job = C4::BackgroundJob->new($sessionID, $job_name, $job_invoker, $num_work_units); - -=back + my $job = C4::BackgroundJob->new($sessionID, $job_name, $job_invoker, $num_work_units); Create a new job object and set its status to 'running'. C<$num_work_units> should be a number representing the size of the job; the units of the @@ -111,11 +102,7 @@ sub _serialize { =head2 id -=over 4 - -my $jobID = $job->id(); - -=back + my $jobID = $job->id(); Read-only accessor for job ID. @@ -128,12 +115,8 @@ sub id { =head2 name -=over 4 - -my $name = $job->name(); -$job->name($name); - -=back + my $name = $job->name(); + $job->name($name); Read/write accessor for job name. @@ -151,12 +134,8 @@ sub name { =head2 invoker -=over 4 - -my $invoker = $job->invoker(); -$job->invoker($invoker); - -=back + my $invoker = $job->invoker(); +i $job->invoker($invoker); Read/write accessor for job invoker. @@ -174,12 +153,8 @@ sub invoker { =head2 progress -=over 4 - -my $progress = $job->progress(); -$job->progress($progress); - -=back + my $progress = $job->progress(); + $job->progress($progress); Read/write accessor for job progress. @@ -197,11 +172,7 @@ sub progress { =head2 status -=over 4 - -my $status = $job->status(); - -=back + my $status = $job->status(); Read-only accessor for job status. @@ -214,12 +185,8 @@ sub status { =head2 size -=over 4 - -my $size = $job->size(); -$job->size($size); - -=back + my $size = $job->size(); + $job->size($size); Read/write accessor for job size. @@ -237,11 +204,7 @@ sub size { =head2 finish -=over 4 - -$job->finish($results_hashref); - -=back + $job->finish($results_hashref); Mark the job as finished, setting its status to 'completed'. C<$results_hashref> should be a reference to a hash containing @@ -259,11 +222,7 @@ sub finish { =head2 results -=over 4 - -my $results_hashref = $job->results(); - -=back + my $results_hashref = $job->results(); Retrieve the results of the current job. Returns undef if the job status is not 'completed'. @@ -278,11 +237,7 @@ sub results { =head2 fetch -=over 4 - -my $job = C4::BackgroundJob->fetch($sessionID, $jobID); - -=back + my $job = C4::BackgroundJob->fetch($sessionID, $jobID); Retrieve a job that has been serialized to the database. Returns C if the job does not exist in the current @@ -305,9 +260,12 @@ sub fetch { return $self; } +1; +__END__ + =head1 AUTHOR -Koha Development Team +Koha Development Team Galen Charlton