TheSchwartz::Worker man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

TheSchwartz::Worker(3)User Contributed Perl DocumentatioTheSchwartz::Worker(3)

NAME
       TheSchwartz::Worker - superclass for defining task behavior

SYNOPSIS
	   package MyWorker;
	   use base qw( TheSchwartz::Worker );

	   sub work {
	       my $class = shift;
	       my TheSchwartz::Job $job = shift;

	       print "Workin' hard or hardly workin'? Hyuk!!\n";

	       $job->completed();
	   }

	   package main;

	   my $client = TheSchwartz->new( databases => $DATABASE_INFO );
	   $client->can_do('MyWorker');
	   $client->work();

DESCRIPTION
       TheSchwartz::Worker objects are the salt of the reliable job queuing
       earth.  The behavior required to perform posted jobs are defined in
       subclasses of TheSchwartz::Worker. These subclasses are named for the
       ability required of a "TheSchwartz" client to do the job, so that the
       clients can dispatch automatically to the approprate worker routine.

       Because jobs can be performed by any machine running code for capable
       worker classes, "TheSchwartz::Worker"s are generally stateless. All
       mutable state is stored in the "TheSchwartz::Job" objects. This means
       all "TheSchwartz::Worker" methods are class methods, and
       "TheSchwartz::Worker" classes are generally never instantiated.

SUBCLASSING
       Define and customize how a job is performed by overriding these methods
       in your subclass:

   "$class->work( $job )"
       Performs the job that required ability $class. Override this method to
       define how to do the job you're defining.

       Note that will need to call "$job->completed()" or "$job->failed()" as
       appropriate to indicate success or failure. See TheSchwartz::Job.

   "$class->max_retries( $job )"
       Returns the number of times workers should attempt the given job. After
       this many tries, the job is marked as completed with errors (that is, a
       "TheSchwartz::ExitStatus" is recorded for it) and removed from the
       queue. By default, returns 0.

   "$class->retry_delay( $num_failures )"
       Returns the number of seconds after a failure workers should wait until
       reattempting a job that has already failed $num_failures times. By
       default, returns 0.

   "$class->keep_exit_status_for()"
       Returns the number of seconds to allow a "TheSchwartz::ExitStatus"
       record for a job performed by this worker class to exist. By default,
       returns 0.

   "$class->grab_for()"
       Returns the number of seconds workers of this class will claim a
       grabbed a job.  That is, returns the length of the timeout after which
       other workers will decide a worker that claimed a job has crashed or
       faulted without marking the job failed. Jobs that are marked as failed
       by a worker are also marked for immediate retry after a delay indicated
       by "retry_delay()".

USAGE
   "$class->grab_job( $client )"
       Finds and claims a job for workers with ability $class, using
       "TheSchwartz" client $client. This job can then be passed to "work()"
       or "work_safely()" to perform it.

   "$class->work_safely( $job )"
       Performs the job associated with the worker's class name. If an error
       is thrown while doing the job, the job is appropriately marked as
       failed, unlike when calling "work()" directly.

perl v5.14.1			  2010-03-15		TheSchwartz::Worker(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net