Paul Seamons > Net-Server-2.006 > Net::Server::Fork

Download:
Net-Server-2.006.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  18
Open  14
View/Report Bugs
Source   Latest Release: Net-Server-2.008

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->child_init_hook()

This hook is called just after the fork and after signals have been cleaned up.

$self->pre_accept_hook()

This hook occurs just before the accept is called.

$self->pre_fork_hook()

This hook occurs just after accept but before the fork.

$self->post_accept_hook()

This hook occurs in the child after the accept and fork.

$self->run_dequeue()

This hook only gets called in conjuction 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

syntax highlighting: