Net::Server::Fork
Section: User Contributed Perl Documentation (3)
Updated: 2021-01-27
Page Index
NAME
Net::Server::Fork - Net::Server personality
SYNOPSIS
use base qw(Net::Server::Fork);
sub process_request {
#...code...
}
__PACKAGE__->run();
DESCRIPTION
Please read the pod on Net::Server first. This module is a
personality, or extension, or sub class, of the Net::Server module.
This personality binds to one or more ports and then waits for a
client connection. When a connection is received, the server forks a
child. The child handles the request and then closes.
With the exception of parent/child signaling, this module will work
(with basic functionality) on Win32 systems.
ARGUMENTS
- check_for_dead
-
Number of seconds to wait before looking for dead children. This only
takes place if the maximum number of child processes (max_servers) has
been reached. Default is 60 seconds.
- max_servers
-
The maximum number of children to fork. The server will not accept
connections until there are free children. Default is 256 children.
- max_dequeue
-
The maximum number of dequeue processes to start. If a value of zero
or undef is given, no dequeue processes will be started. The number
of running dequeue processes will be checked by the check_for_dead
variable.
- check_for_dequeue
-
Seconds to wait before forking off a dequeue process. It is intended
to use the dequeue process to take care of items such as mail queues.
If a value of undef is given, no dequeue processes will be started.
CONFIGURATION FILE
See Net::Server.
PROCESS FLOW
Process flow follows Net::Server until the post_accept phase. At this
point a child is forked. The parent is immediately able to wait for
another request. The child handles the request and then exits.
HOOKS
The Fork server has the following hooks in addition to the hooks
provided by the Net::Server base class. See Net::Server
- "$self->pre_accept_hook()"
-
This hook occurs just before the accept is called.
- "$self->post_accept_hook()"
-
This hook occurs in the child after the accept and fork.
- "$self->run_dequeue()"
-
This hook only gets called in conjunction with the check_for_dequeue
setting.
HOT DEPLOY
Since version 2.000, the Fork server has accepted the
TTIN and
TTOU
signals. When a
TTIN is received, the max_servers is increased by 1.
If a
TTOU signal is received the max_servers is decreased by 1. This
allows for adjusting the number of handling processes without having
to restart the server.
AUTHOR
Paul Seamons <
paul@seamons.com>
Rob Brown <bbb@cpan.org>
SEE ALSO
Please see also
Net::Server::INET,
Net::Server::PreFork,
Net::Server::MultiType,
Net::Server::SIG
Net::Server::Single