Changes for version 2.30_5272 - 2012-01-01

  • -Renamed runMetajob() to metarun() -Renamed DOWNSHIFT_ON_FAILED_JOB to DOWNSHIFT_ON_NONZERO_RUN to make it clearer what it does. -Rewrote Helios::TestService to be more clear and up-to-date. -Updated copyright notices (Happy New Year!) -Helios::Job: changed failed() and failedNoRetry() to limit the char length of the error recorded to 254 chars. That's one less than the default size of the db field in the ERROR table, so it should prevent long errors like stack traces from unexpectedly blowing up worker processes and potentially losing jobs -Helios::Service->work(): calls to run() and metarun() are now wrapped in an eval {} block to catch uncaught exceptions. If the run() or metarun() method of a service dies while processing a job, the uncaught exception will be caught & logged, the job in question will be failed, and the worker process will be exited. This will prevent worker processes from unexpectedly blowing up and losing jobs.

Changes for version 2.30_5271 - 2012-01-01

  • -Changed Helios::Service->work() to ignore the value returned by a service's run() or runMetajob() method by default. Previous Helios versions would understand a nonzero return from run() to mean a failed job, and would force the worker process to end even though the service was in OVERDRIVE mode. This was considered a safety measure as the reason for the job failure was unknown. However, this feature was underdocumented and confusing and has been removed.
    • The new default behavior doesn't pay attention to the value returned from run() or runMetajob(). You should mark your job as completed or failed in run() or runMetajob() and not worry about returning anything. This new behavior also has the advantage of working with all of the popular modes of Perl exception handling (using Perl's eval {} will return 1 if successful, while Try::Tiny and Error's try {} will not).
    • Anyone requiring the old behavior can use the new DOWNSHIFT_ON_FAILED_JOB parameter to enable it.

Changes for version 2.30_5232 - 2011-12-28

  • -Added Helios::Service->runMetajob() to update and modularize metajob handling code. -Cleaned up some unnecessary warnings from work() and logMsg() -Removed vestigial dependency on XML::Parser in Helios::Service (forgot that was in there)

Changes for version 2.30_5072 - 2011-12-20

  • -Same as 5071, but with including BaseError and fixed MANIFEST (oops, sorry!)

Changes for version 2.30_5071 - 2011-12-18

  • -Added Helios::Error::BaseError and modified all Helios::Error:: exception classes to subclass it instead of Error::Simple directly. This creates an actual exception class hierarchy, and makes it easy to determine whether a caught exception is a Helios error or another kind of error. (It might also allow an eventual move from Error to another exception handling system.)

Changes for version 2.30_5041 - 2011-12-15

  • -Completely rewrote submitJob.pl to allow requester to send job arg XML in an HTTP POST; the form encoding is no longer necessary (though is still supported to ensure compatibility) See submitJob.pl for updated job XML syntax New submitJob.pl also eliminates dependency on HELIOS_CLASS_MAP to determine the proper class for a particular job type (though HELIOS_CLASS_MAP is still supported) -Removed vestigial dependency on XML::Parser in Helios::Job & removed mention of it in Makefile.PL -Corrected Makefile.PL to remove mention of XML::SAX, XML::Namespace as dependencies (Helios's only direct XML::* dependency is XML::Simple) -Corrected Makefile.PL with older versions of DBI and XML::Simple. These versions were packaged as RPMs with CentOS 5.7. This change helps installation on RPM-based Linux OSes, and Helios is compatible with these versions.

Changes for version 2.30_4931 - 2011-12-07

  • -Switch to "Linux-style" versioning: odd minor version == development version even minor version == stable version second minor number == patch level (we're still also using Perl-style _ for devel versions too) -Merged in HeliosX::ExtLoggerService functionality (long overdue but not tested yet!) -Removed Helios::Service->parseArgXML() (deprecated since 2.00) -Removed Helios::Worker (deprecated since 2.00)

Documentation

CGI script to receive jobs for Helios via HTTP POST
Launch a daemon to service jobs in the Helios job processing system
Submit a job to the Helios job processing system from the cmd line
Clean old log and history entries from the Helios database
a tutorial for getting started with Helios

Modules

a framework for developing asynchronous distributed job processing applications
a convenience class to import all Helios::Error exception classes
base exception class for Helios services
exception class for Helios indicating a database error occurred
fatal exception class for Helios indicating a job failed but can be re-attempted
fatal exception class for Helios indicating a job failed and the error was so serious the job should not be reattempted.
exception class for Helios indicating a job's args are invalid
exception class for Helios indicating a logging subsystem error occurred
exception class for Helios indicating a job was successful but it encountered errors during processing
base class for jobs in the Helios job processing system
Base class for sending Helios logging information to external loggers
Helios::Logger subclass reimplementing Helios internal logging
base class for metajob burst services in Helios
base class for services in the Helios job processing system
Helios::Service subclass useful for testing

Provides

in lib/Helios/ConfigParam.pm
in lib/Helios/JobHistory.pm
in lib/Helios/LogEntry.pm
in lib/Helios/LogEntry/Levels.pm