X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=share%2Fscript%2Fmyapp_server.pl.tt;h=29687f949c20920bc4cf9d16df966a4f71ba20b2;hb=76370ee56ddb76fc2ca913ad4faeb4dc4b93ebb1;hp=e9e0b3fff5d88067b11dfca49d4059edc6beee45;hpb=99618c492714b400fe9d4c3a52e49c5907736ea1;p=catagits%2FCatalyst-Devel.git diff --git a/share/script/myapp_server.pl.tt b/share/script/myapp_server.pl.tt index e9e0b3f..29687f9 100644 --- a/share/script/myapp_server.pl.tt +++ b/share/script/myapp_server.pl.tt @@ -1,124 +1,43 @@ -package [% appprefix %]::Script::Server; - -use Catalyst::Engine::HTTP; -use [% appprefix %]; -use Moose; - -with 'MooseX::GetOpt'; - -has argv => ( isa => 'ArrayRef', is => 'ro', required => 1 ); -has [qw/ fork background keepalive /] => ( isa => 'Bool', is => 'ro', required => 1, default => 0 ); -has pidfile => ( isa => 'Str', required => 0, is => 'ro' ); - -sub run { - my $self = shift; - [% appprefix %]->run( - $port, $host, - { - argv => $self->argv, - 'fork' => $self->fork, - keepalive => $self->keepalive, - background => $self->background, - pidfile => $self->pidfile, - } - ); -} - -__PACKAGE__->new_with_options->run; - - -pod2usage(1) if $help; +[% startperl %] -if ( $debug ) { - $ENV{CATALYST_DEBUG} = 1; +BEGIN { + $ENV{CATALYST_SCRIPT_GEN} = [% scriptgen %]; } -# If we load this here, then in the case of a restarter, it does not -# need to be reloaded for each restart. -require Catalyst; - -# If this isn't done, then the Catalyst::Devel tests for the restarter -# fail. -$| = 1 if $ENV{HARNESS_ACTIVE}; - -my $runner = sub { - # This is require instead of use so that the above environment - # variables can be set at runtime. - require [% name %]; - - [% name %]->run( - $port, $host, - { - argv => \@argv, - 'fork' => $fork, - keepalive => $keepalive, - background => $background, - pidfile => $pidfile, - } - ); -}; - -if ( $restart ) { - die "Cannot run in the background and also watch for changed files.\n" - if $background; - - require Catalyst::Restarter; - - my $subclass = Catalyst::Restarter->pick_subclass; - - my %args; - $args{follow_symlinks} = 1 - if $follow_symlinks; - $args{directories} = $watch_directory - if defined $watch_directory; - $args{sleep_interval} = $check_interval - if defined $check_interval; - $args{filter} = qr/$file_regex/ - if defined $file_regex; - - my $restarter = $subclass->new( - %args, - start_sub => $runner, - ); - - $restarter->run_and_watch; -} -else { - $runner->(); -} +use Catalyst::ScriptRunner; +Catalyst::ScriptRunner->run('[% name %]', 'Server'); 1; =head1 NAME -[% appprefix %]_server.pl - Catalyst Testserver +[% appprefix %]_server.pl - Catalyst Test Server =head1 SYNOPSIS [% appprefix %]_server.pl [options] - Options: - -d -debug force debug mode - -f -fork handle each request in a new process - (defaults to false) - -? -help display this help and exits - -host host (defaults to all) - -p -port port (defaults to 3000) - -k -keepalive enable keep-alive connections - -r -restart restart when files get modified - (defaults to false) - -rd -restartdelay delay between file checks - (ignored if you have Linux::Inotify2 installed) - -rr -restartregex regex match files that trigger - a restart when modified - (defaults to '\.yml$|\.yaml$|\.conf|\.pm$') - -restartdirectory the directory to search for - modified files, can be set mulitple times - (defaults to '[SCRIPT_DIR]/..') - -follow_symlinks follow symlinks in search directories - (defaults to false. this is a no-op on Win32) - -background run the process in the background - -pidfile specify filename for pid file + -d --debug force debug mode + -f --fork handle each request in a new process + (defaults to false) + -? --help display this help and exits + -h --host host (defaults to all) + -p --port port (defaults to 3000) + -k --keepalive enable keep-alive connections + -r --restart restart when files get modified + (defaults to false) + -rd --restart_delay delay between file checks + (ignored if you have Linux::Inotify2 installed) + -rr --restart_regex regex match files that trigger + a restart when modified + (defaults to '\.yml$|\.yaml$|\.conf|\.pm$') + --restart_directory the directory to search for + modified files, can be set multiple times + (defaults to '[SCRIPT_DIR]/..') + --follow_symlinks follow symlinks in search directories + (defaults to false. this is a no-op on Win32) + --background run the process in the background + --pidfile specify filename for pid file See also: perldoc Catalyst::Manual @@ -138,3 +57,4 @@ This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut +