use MooseX::Types::Path::Class;
use File::Path qw(make_path);
-our $VERSION = '0.15';
-
with 'MooseX::Daemonize::WithPidFile',
'MooseX::Getopt';
( my $name = lc $_[0]->meta->name ) =~ s/::/_/g;
return $name;
},
+ documentation => 'the name of the daemon',
);
has pidbase => (
required => 1,
lazy => 1,
default => sub { Path::Class::Dir->new('', 'var', 'run') },
+ documentation => 'the base for our pid (default: /var/run)',
);
has basedir => (
required => 1,
lazy => 1,
default => sub { Path::Class::Dir->new('/') },
+ documentation => 'the directory to chdir to (default: /)',
);
has foreground => (
isa => 'Bool',
is => 'ro',
default => sub { 0 },
+ documentation => 'if true, the process won\'t background',
);
has stop_timeout => (
metaclass => 'Getopt',
isa => 'Int',
is => 'rw',
- default => sub { 2 }
+ default => sub { 2 },
+ documentation => 'number of seconds to wait for the process to stop, before trying harder to kill it (default: 2 s)',
);
# internal book-keeping
$self->clear_exit_code;
# if the pid is not running
- # then we dont need to stop
+ # then we don't need to stop
# anything ...
if ($self->pidfile->is_running) {
MooseX::Daemonize - Role for daemonizing your Moose based application
-=head1 VERSION
-
-This document describes MooseX::Daemonize version 0.05
-
=head1 WARNING
The maintainers of this module now recommend using L<Daemon::Control> instead.
=head1 DESCRIPTION
-Often you want to write a persistant daemon that has a pid file, and responds
+Often you want to write a persistent daemon that has a pid file, and responds
appropriately to Signals. This module provides a set of basic roles as an
infrastructure to do that.
The base for our PID, defaults to C</var/run/>
+=item I<basedir Path::Class::Dir | Str>
+
+The directory we chdir to; defaults to C</>.
+
=item I<pidfile MooseX::Daemonize::Pid::File | Str>
The file we store our PID in, defaults to C<$pidbase/$progname.pid>
=item I<no_double_fork Bool>
If true, the process will not perform the typical double-fork, which is extra
-added protection from your process accidentally aquiring a controlling terminal.
+added protection from your process accidentally acquiring a controlling terminal.
More information can be found by Googling "double fork daemonize".
=item I<ignore_zombies Bool>
=head2 Exit Code Methods
-These are overriable constant methods used for setting the exit code.
+These are overridable constant methods used for setting the exit code.
=over 4