++ed by:

2 non-PAUSE users.

Andrew Johnson
and 1 contributors

Changes for version 2.60

  • -Significant changes to Helios database connection handling, including a specialized Data::ObjectDriver class and TheSchwartz extensions. Helios now aggressively caches database connections at the DBI layer and uses DBI features to properly handle database connect/disconnect between daemon and worker processes. These improvements result in significant performance increases, especially when using Oracle as a collective database. One user's application experienced job throughput increases of ~70%. MySQL collectives should also experience speed increases and a reduced number of open connections. -NEW Helios::Config modular configuration API. Similar to Helios::Job and Helios::Logger, Helios::Config defines the basic Helios configuration API while also serving as a base class to build custom configuration modules for Helios applications. To define a custom configuration API for a Helios application, specify a ConfigClass() method in your Helios::Service subclass. Auxiliary application pieces such as scripts and cronjobs can use Helios::Config to get the application's configuration without needing to instantiate the application class and calling the prep() method as in the past. Helios::Config makes the Helios configuration API more robust, modular, and flexible. See the Helios::Config POD for more details. NOTE: Helios::Service->getConfigFrom*() methods are now deprecated in favor of Helios::Config->parseConfig(). The prep() method uses Helios::Config and will continue to be supported. -NEW Helios exception class for configuration errors: Helios::Error::ConfigError. -NEW WORKER_MAX_TTL_WAIT_INTERVAL parameter to fine-tune use of WORKER_MAX_TTL with specific applications. -NEW WORKER_BLITZ_FACTOR configuration parameter to launch more workers sooner. -NEW configuration parameter documentation. All Helios out-of-box configuration parameters are now defined in a section of the Helios::Config POD. For more information about the new configuration parameters or any others, check the Helios::Config POD! -Helios::Service->dbConnect() has been updated to work with the new database connection caching scheme and to better support DBI options. -Bundle::Helios::Generic has been changed to Bundle::Helios and can be used to install Helios prerequisite modules with generic Perl installs. Bundle::Helios::RedHat was dropped in 2.41. See the INSTALL.* files in the main distribution directory to determine the right type of install method for your environment. -Improved module loading code. -Removal of most instances of Error module's try {} catch {} blocks in favor of Perl generic eval {} or do {}. -More tests. -Updated INSTALL.* files for generic Perl and CPAN installs and Red Hat/CentOS 6.x. BSD, Mac OS X, and other *nix should use the generic install instructions. (Debian and Ubuntu based instructions continue to be the quickest and easiest. Thank you Debian for your excellent Perl and CPAN packaging!)


  • Helios - a distributed job processing system
  • Helios::Tutorial - a tutorial for getting started with Helios
  • helios.pl - Launch a daemon to service jobs in the Helios job processing system
  • helios_job_submit.pl - Submit a job to the Helios job processing system from the cmd line
  • helios_log_clean.pl - Clean old log and history entries from the Helios database
  • submitJob.pl - CGI script to receive jobs for Helios via HTTP POST