NAME
Plack::Handler::Feersum - plack adapter for Feersum
SYNOPSIS
plackup -s Feersum app.psgi
plackup -s Feersum --listen localhost:8080 app.psgi
plackup -s Feersum --pre-fork=4 -MMy::App -L delayed app.psgi
DESCRIPTION
This is a stub module that allows Feersum to be loaded up under plackup and other Plack tools. Set $ENV{PLACK_SERVER} to 'Feersum' or use the -s parameter to plackup to use Feersum under Plack.
Experimental Features
A --pre-fork=N parameter can be specified to put feersum into pre-forked mode where N is the number of child processes. Use -o preload_app=0 to load the app independently in each worker (default: preload before fork).
A --reuseport parameter can be specified to enable SO_REUSEPORT support for better multi-core scaling when combined with --pre-fork. Requires Linux 3.9+ or similar kernel support.
A --epoll-exclusive parameter can be specified to enable EPOLLEXCLUSIVE for reducing thundering herd in pre-fork mode. Requires Linux 4.5+. Useful with Server::Starter.
Watcher priority options --read-priority, --write-priority, and --accept-priority can be used to set libev I/O watcher priorities. Valid range is -2 (lowest) to +2 (highest), default is 0.
TLS, HTTP/2, and PROXY protocol can be configured via -o server options:
plackup -s Feersum \
-o tls_cert_file=server.crt -o tls_key_file=server.key \
-o h2=1 -o proxy_protocol=1 app.psgi
Note: The sni option (for virtual hosting with multiple TLS certificates) takes an array of hashes and cannot be set via -o; use Feersum::Runner directly for SNI configuration.
See Feersum::Runner for full documentation of these options.
METHODS
assign_request_handler($app)-
Assigns the PSGI request handler to Feersum.
Also sets up a SIGTERM handler to call the
quit()method so that Plack::Loader::Restarter will work.
SEE ALSO
Most of the functionality is in Feersum::Runner (the base class)
AUTHOR
Jeremy Stashewsky, stash@cpan.org
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Jeremy Stashewsky & Socialtext Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.