Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

twiggy(3pm) [debian man page]

Twiggy(3pm)						User Contributed Perl Documentation					       Twiggy(3pm)

NAME
Twiggy - AnyEvent HTTP server for PSGI (like Thin) SYNOPSIS
twiggy --listen :8080 See "twiggy -h" for more details. use Twiggy::Server; my $server = Twiggy::Server->new( host => $host, port => $port, ); $server->register_service($app); AE::cv->recv; DESCRIPTION
Twiggy is a lightweight and fast HTTP server with unique features such as: PSGI Can run any PSGI applications. Fully supports psgi.nonblocking and psgi.streaming interfaces. AnyEvent This server uses AnyEvent and runs in a non-blocking event loop, so it's best to run event-driven web applications that runs I/O bound jobs or delayed responses such as long-poll, WebSocket or streaming content (server push). This software used to be called Plack::Server::AnyEvent but was renamed to Twiggy. See "NAMING" for details. Fast header parser Uses XS/C based HTTP header parser for the best performance. (optional, install the HTTP::Parser::XS module to enable it; see also Plack::HTTPParser for more information). Lightweight and Fast The memory required to run twiggy is 6MB and it can serve more than 4500 req/s with a single process on Perl 5.10 with MacBook Pro 13" late 2009. Superdaemon aware Supports Server::Starter for hot deploy and graceful restarts. To use it, instead of the usual: plackup --server Twiggy --port 8111 app.psgi install Server::Starter and use: start_server --port 8111 plackup --server Twiggy app.psgi ENVIRONMENT
The following environment variables are supported. TWIGGY_DEBUG Set to true to enable debug messages from Twiggy. NAMING
Twiggy? Because it is like Thin <http://code.macournoyer.com/thin/>, Ruby's Rack web server using EventMachine. You know, Twiggy is thin :) Why the cute name instead of more descriptive namespace? Are you on drugs? I'm sick of naming Perl software like HTTP::Server::PSGI::How::Its::Written::With::What::Module and people call it HSPHIWWWM on IRC. It's hard to say on speeches and newbies would ask questions what they stand for every day. That's crazy. This module actually includes the longer alias and an empty subclass AnyEvent::Server::PSGI for those who like to type more ::'s. It would actually help you find this software by searching for PSGI Server AnyEvent on CPAN, which i believe is a good thing. Yes, maybe I'm on drugs. We'll see. LICENSE
This module is licensed under the same terms as Perl itself. AUTHOR
Tatsuhiko Miyagawa Tokuhiro Matsuno Yuval Kogman Hideki Yamamura Daisuke Maki SEE ALSO
Plack AnyEvent Tatsumaki perl v5.14.2 2012-02-21 Twiggy(3pm)

Check Out this Related Man Page

Plack::Runner(3pm)					User Contributed Perl Documentation					Plack::Runner(3pm)

NAME
Plack::Runner - plackup core SYNOPSIS
# Your bootstrap script use Plack::Runner; my $app = sub { ... }; my $runner = Plack::Runner->new; $runner->parse_options(@ARGV); $runner->run($app); DESCRIPTION
Plack::Runner is the core of plackup runner script. You can create your own frontend to run your application or framework, munge command line options and pass that to "run" method of this class. "run" method does exactly the same thing as the plackup script does, but one notable addition is that you can pass a PSGI application code reference directly to the method, rather than via ".psgi" file path or with "-e" switch. This would be useful if you want to make an installable PSGI application. Also, when "-h" or "--help" switch is passed, the usage text is automatically extracted from your own script using Pod::Usage. NOTES
Do not directly call this module from your ".psgi", since that makes your PSGI application unnecessarily depend on plackup and won't run other backends like Plack::Handler::Apache2 or mod_psgi. If you really want to make your ".psgi" runnable as a standalone script, you can do this: my $app = sub { ... }; unless (caller) { require Plack::Runner; my $runner = Plack::Runner->new; $runner->parse_options(@ARGV); return $runner->run($app); } return $app; WARNING: this section used to recommend "if (__FILE__ eq $0)" but it's known to be broken since Plack 0.9971, since $0 is now always set to the .psgi file path even when you run it from plackup. SEE ALSO
plackup perl v5.14.2 2012-03-21 Plack::Runner(3pm)
Man Page