Reference

Mojo::Server::Daemon::Prefork(3pm)

Preforking HTTP 1.1 And WebSocket Server

NAME

Mojo::Server::Daemon::Prefork - Preforking HTTP 1.1 And WebSocket Server

SYNOPSIS

    use Mojo::Daemon::Prefork;
    my $daemon = Mojo::Daemon::Prefork->new;
    $daemon->port(8080);
    $daemon->run;

DESCRIPTION

Mojo::Server::Daemon::Prefork is a full featured preforking HTTP 1.1 and WebSocket server using a dynamic worker pool with "IPv6", "TLS", "epoll", "kqueue", hot deployment, UNIX domain socket sharing and optional async io support.

Optional modules IO::KQueue, IO::Epoll, IO::Socket::INET6 and IO::Socket::SSL are supported transparently and used if installed.

ATTRIBUTES

Mojo::Server::Daemon::Prefork inherits all attributes from Mojo::Server::Daemon and implements the following new ones.

"cleanup_interval"

    my $cleanup_interval = $daemon->cleanup_interval;
    $daemon              = $daemon->cleanup_interval(15);

Cleanup interval for workers in seconds, defaults to 15.

"idle_timeout"

    my $idle_timeout = $daemon->idle_timeout;
    $daemon          = $daemon->idle_timeout(30);

Timeout for workers to be idle in seconds, defaults to 30.

"max_clients"

    my $max_clients = $daemon->max_clients;
    $daemon         = $daemon->max_clients(1);

Maximum number of parallel client connections handled by worker, defaults to 1.

"max_requests"

    my $max_requests = $daemon->max_requests;
    $daemon          = $daemon->max_requests(1);

Maximum number of requests a worker process is allowed to handle, defaults to 1000.

"max_servers"

    my $max_servers = $daemon->max_servers;
    $daemon         = $daemon->max_servers(100);

Maximum number of active workers, defaults to 100.

"max_spare_servers"

    my $max_spare_servers = $daemon->max_spare_servers;
    $daemon               = $daemon->max_spare_servers(10);

Maximum number of idle workers, default to 10.

"min_spare_servers"

    my $min_spare_servers = $daemon->min_spare_servers;
    $daemon               = $daemon->min_spare_servers(5);

Minimal number of idle workers, defaults to 5.

"start_servers"

    my $start_servers = $daemon->start_servers;
    $daemon           = $daemon->start_servers(5);

Number of workers to spawn at server startup, defaults to 5.

METHODS

Mojo::Server::Daemon::Prefork inherits all methods from Mojo::Server::Daemon and implements the following new ones.

"accept_lock"

    my $lock = $daemon->accept_lock($blocking);

Try to get the accept lock.

"child"

    $daemon->child;

Worker process.

"child_status"

    $daemon->child_status('idle');

Change status for worker process.

"daemonize"

    $daemon->daemonize;

Daemonize manager process.

"parent"

    $daemon->parent;

Manager process.

"run"

    $daemon->run;

Start server.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.