Andrew Johnson > Helios-2.71_4250 > Helios::JobType

Download:
Helios-2.71_4250.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  1
View/Report Bugs
Module Version: 2.71_4250   Source   Latest Release: Helios-2.80

NAME ^

Helios::JobType - class to represent Helios jobtypes

SYNOPSIS ^

 # use the lookup() class method to retrieve jobtypes 
 # from the Helios collective database
 my $jobtype = Helios::JobType->lookup(name => 'Helios::TestService');
        --OR--
 my $jobtype = Helios::JobType->lookup(jobtypeid => 1);

 print "Name: ", $jobtype->getName, " Jobtypeid: ", $jobtype->getJobtypeid,"\n";
 
 # use new() and create() to create new jobtypes
 my $newtype = Helios::JobType->new( name => 'NewJobType' );
 $newtype->create();
 print "Created jobtype ",$newtype->getJobtypeid,"\n";

DESCRIPTION ^

Objects of the Helios::JobType class represent jobtypes in the Helios job processing system. Every job has a jobtype, which is roughly analogous to the queue a job is in. Usually, a jobtype's name is the same as the Helios service that will be running the job, in effect creating a single queue for each Helios service. In certain advanced configurations, Helios services can be configured to service jobs of several jobtypes.

ACCESSOR METHODS ^

 set/getName      name of the jobtype in the Helios database
 set/getJobtypeid jobtypeid in the Helios database
 
 set/getConfig    config hash to use
 set/getDriver    Data::ObjectDriver to Helios database

OBJECT INITIALIZATION ^

new([name => $jobtypename][, config => $config_hashref][, driver => $driver_obj][, obj => $elemental_obj])

Creates a new Helios::JobType object. If parameters are passed, calls init() with those parameters to initialize the object's values.

init()

If any parameters are passed to new(), init() will be called to further initialize the object.

_inflate()

If an elemental object is passed to new() or init() using the 'obj' parameter, _inflate() will be called to expand the elemental object into the full Helios object.

Helios::JobType objects can be inflated from TheSchwartz::FuncMap objects.

CLASS METHODS ^

lookup([name => $name]|[jobtypeid => $jobtypeid])

Given either a jobtype name or jobtypeid, the lookup method will attempt to find a jobtype matching that criteria in the collective database and returns a Helios::JobType object representing that jobtype to the calling routine. If a matching jobtype is not found, undef is returned.

THROWS: Helios::Error::JobTypeError if a problem occurs querying the Helios database.

OBJECT METHODS ^

create([name => $name])

Given a jobtype name, create() creates a jobtype with that name in the Helios collective database and returns the new jobtype's jobtypeid.

If the jobtype's name is not specified, the value returned by getName() will be used.

THROWS: Helios::Error::JobTypeError if the JobType creation fails.

remove()

The remove() method deletes a jobtype from the Helios collective database. It returns 1 if successful and throws a Helios::Error::JobTypeError if the removal operation fails.

USE WITH CAUTION. All Helios jobs, both enqueued and completed, have an associated jobtype, and removing a jobtype that still has associated jobs in the system will have unintended consequences!

THROWS: Helios::Error::JobTypeError if the removal operation fails.

SEE ALSO ^

Helios, Helios::Service, Helios::Job

AUTHOR ^

Andrew Johnson, <lajandy at cpan dot org>

COPYRIGHT AND LICENSE ^

Copyright (C) 2013 by Logical Helion, LLC.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.0 or, at your option, any later version of Perl 5 you may have available.

WARRANTY ^

This software comes with no warranty of any kind.

syntax highlighting: