Acme-Ghost
view release on metacpan or search on metacpan
lib/Acme/Ghost/Prefork.pm view on Meta::CPAN
package Acme::Ghost::Prefork;
use warnings;
use strict;
use utf8;
=encoding utf-8
=head1 NAME
Acme::Ghost::Prefork - Pre-forking ghost daemon
=head1 SYNOPSIS
use Acme::Ghost::Prefork;
my $g = Acme::Ghost::Prefork->new(
logfile => '/tmp/daemon.log',
pidfile => '/tmp/daemon.pid',
spirit => sub {
my $self = shift;
my $max = 10;
my $i = 0;
while ($self->tick) {
$i++;
sleep 1;
$self->log->debug(sprintf("$$> %d/%d", $i, $max));
last if $i >= $max;
}
},
);
exit $g->ctrl(shift(@ARGV) // '');
=head1 DESCRIPTION
Pre-forking ghost daemon (server)
=head1 ATTRIBUTES
This class inherits all attributes from L<Acme::Ghost> and implements the following new ones
=head2 graceful_timeout
graceful_timeout => 120
The maximum amount of time in seconds stopping a spirit gracefully may take before being forced to stop
B<Note that> this value should usually be a little larger than the maximum
amount of time you expect any one request to take
Defaults to C<120>
=head2 heartbeat_interval
heartbeat_interval => 5
Heartbeat interval in seconds, defaults to C<5>
=head2 heartbeat_timeout
heartbeat_timeout => 50
Maximum amount of time in seconds before a spirit without a heartbeat will be stopped gracefully
( run in 2.823 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )