1 package Catalyst::Script::FastCGI;
3 BEGIN { $ENV{CATALYST_ENGINE} ||= 'FastCGI' }
5 use MooseX::Types::Moose qw/Str Bool Int/;
6 use namespace::autoclean;
8 with 'Catalyst::ScriptRole';
11 traits => [qw(Getopt)],
15 documentation => 'Specify a listening port/socket',
19 traits => [qw(Getopt)],
20 cmd_aliases => [qw/pid p/],
23 documentation => 'Specify a pidfile',
27 traits => [qw(Getopt)],
30 cmd_aliases => [qw/d detach/], # Eww, detach is here as we fucked it up.. Deliberately not documented
31 documentation => 'Daemonize (go into the background)',
35 traits => [qw(Getopt)],
39 documentation => 'Use a different FastCGI process manager class',
43 traits => [qw(Getopt)],
47 documentation => 'Log STDERR',
51 traits => [qw(Getopt)],
55 documentation => 'Specify a number of child processes',
59 traits => [qw(Getopt)],
62 documentation => 'Set the process title',
65 sub _application_args {
70 nproc => $self->nproc,
71 pidfile => $self->pidfile,
72 manager => $self->manager,
73 detach => $self->daemon,
74 keep_stderr => $self->keeperr,
75 proc_title => $self->proc_title,
80 __PACKAGE__->meta->make_immutable;
84 Catalyst::Script::FastCGI - The FastCGI Catalyst Script
88 myapp_fastcgi.pl [options]
91 -? --help display this help and exits
92 -l --listen Socket path to listen on
93 (defaults to standard input)
94 can be HOST:PORT, :PORT or a
96 -n --nproc specify number of processes to keep
97 to serve requests (defaults to 1,
99 -p --pidfile specify filename for pid file
101 -d --daemon daemonize (requires -listen)
102 -M --manager specify alternate process manager
103 (FCGI::ProcManager sub-class)
104 or empty string to disable
105 -e --keeperr send error messages to STDOUT, not
107 --proc_title set the process title
111 Run a Catalyst application as fastcgi.
115 Catalyst Contributors, see Catalyst.pm
119 This library is free software. You can redistribute it and/or modify it under
120 the same terms as Perl itself.