The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 2.40 - 2012-01-22

  • -NEW Extensible logging subsystem (Helios::Logger) -NEW Helios::Error::BaseError exception class; acts as parent for entire Helios::Error:: hierarchy -NEW Helios::Service->metarun() method to modularize metajob handling and provide for extensible metajob support -NEW service run() and metarun() methods now run in an eval block as a process safety measure to catch uncaught exceptions. -NEW MP3IndexerService example application including in eg/ directory (StubService also rewritten for clarity) -REVISED Helios::Service->work() method no longer pays attention to return value of run() method (this feature was under- documented, misunderstood, and caused problems with eval {} and Try::Tiny exception handling -REWRITTEN submitJob.pl CGI script; supports sending XML stream in addition to form encoding, no longer dependent on HELIOS_CLASS_MAP -REWRITTEN Helios::TestService; more modern Perl and easier to understand -REWRITTEN install instructions, including specific instructions for Red Hat- and Ubuntu-based systems, and including CPAN install
  • bundles (still experimental)
  • -REWRITTEN Helios::Tutorial -Helios::Service: fixed MaxRetries() and RetryInterval() retry job methods -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. -Revised dependencies: DBI 1.52 (shipped with RHEL/CentOS 5) XML::Simple 2.14 (shipped with RHEL/CentOS 5) Removed XML::SAX dependency (unnecessary) Removed XML::Namespace dependency (unnecessary) Removed XML::Parser dependency (unnecessary) -Removed deprecated classes, methods, and other files: Helios::Service->parseArgXML() (deprecated since 2.00) Helios::Worker (deprecated since 2.00) sql/helios_schema_20upgrade.sql -Updated copyright notices -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)

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

install all Helios related modules
install all Helios related modules on Red Hat-based systems
a distributed job processing system
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 an error occurred in the logging subsystem
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