NAME

Cantella::Worker - Worker/Manager worker pool system

SYNOPSIS

package TestPreforkWorkerClass;
use Moose;
with 'Cantella::Worker::Role::Worker';
has work_pile => (
  is => 'ro',
  isa => 'ArrayRef',
  default => sub{ [1..5] },
  required => 1
);

sub get_work {
  my $self = shift;
  return unless @{ $self->work_pile };
}

sub work {
  my ($self,$work) = @_;
  print STDOUT "===DOING ${work}===\n";
}

############################

my $manager = Cantella::Worker::Manager::Prefork->new(
  logger => [
    [ File => (
        filename => 'myapp-error.log',
        newline => 1,
        mode => '>>',
        min_level => 'warning'
      )
    ],
  ],
  workers => 3,
  worker_class => 'TestPreforkWorkerClass',
  max_worker_age => 300,
  close_on_call => 0,
  worker_args => {
    interval => 1,
    logger => [
      [ Screen => (newline => 1, min_level => 'debug') ],
    ],
  },
  worker_stderr_log_level => 'notice',
  worker_stdout_log_level => 'info',
);

$manager->start;

SEE ALSO

Cantella::Worker::Manager::Prefork, Cantella::Worker::Role::Worker,

AUTHOR

Guillermo Roditi (groditi) <groditi@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2009-2010 by Guillermo Roditi. This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.