From: Chris Andrews Date: Fri, 1 May 2009 15:31:37 +0000 (+0100) Subject: Initial MooseX::Workers based wrapper script X-Git-Tag: 0.03~18 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Engine-STOMP.git;a=commitdiff_plain;h=15b628f3e0965baa716fad727aa166c5a0be3cff Initial MooseX::Workers based wrapper script --- diff --git a/testapp/script/testapp_stomp_workers.pl b/testapp/script/testapp_stomp_workers.pl new file mode 100644 index 0000000..960c7bd --- /dev/null +++ b/testapp/script/testapp_stomp_workers.pl @@ -0,0 +1,46 @@ +package Manager; +use Moose; +with qw(MooseX::Workers); + +BEGIN { + $ENV{CATALYST_ENGINE} = 'Stomp'; + require Catalyst::Engine::Stomp; +} + +use FindBin; +use lib "$FindBin::Bin/../lib"; + +sub run { + my $self = shift; + for my $i (1..4) { + $self->spawn( sub { + require TestApp; + TestApp->run(); + } ); + } + POE::Kernel->run(); +} + +# Implement our Interface +sub worker_manager_start { warn 'started worker manager' } +sub worker_manager_stop { warn 'stopped worker manager' } +sub max_workers_reached { warn 'maximum worker count reached' } + +sub worker_stdout { shift; warn join ' ', @_; } +sub worker_stderr { shift; warn join ' ', @_; } +sub worker_error { shift; warn join ' ', @_; } +sub worker_done { + my $self = shift; + warn "restarting"; + $self->spawn( sub { + require TestApp; + TestApp->run(); + } ); +} +sub worker_started { shift; warn join ' ', @_; } +sub sig_child { shift; warn join ' ', @_; } +no Moose; + +my $manager = Manager->new(); +$manager->run(); +