Corona

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


SYNOPSIS
      corona --listen :9090 app.psgi

DESCRIPTION
    Corona is a Coro based Plack web server. It uses Net::Server::Coro under
    the hood, which means we have coroutines (threads) for each socket,
    active connections and a main loop.

    Because it's Coro based your web application can actually block with I/O
    wait as long as it yields when being blocked, to the other coroutine
    either explicitly with "cede" or automatically (via Coro::* magic).

      # your web application
      use Coro::LWP;
      my $content = LWP::Simple::get($url); # this yields to other threads when IO blocks

    Corona also uses Coro::AIO (and IO::AIO) if available, to send the
    static filehandle using sendfile(2).

    The simple benchmark shows this server gives 2000 requests per second in

lib/Corona.pm  view on Meta::CPAN


  corona --listen :9090 app.psgi

=head1 DESCRIPTION

Corona is a Coro based Plack web server. It uses L<Net::Server::Coro>
under the hood, which means we have coroutines (threads) for each
socket, active connections and a main loop.

Because it's Coro based your web application can actually block with
I/O wait as long as it yields when being blocked, to the other
coroutine either explicitly with C<cede> or automatically (via Coro::*
magic).

  # your web application
  use Coro::LWP;
  my $content = LWP::Simple::get($url); # this yields to other threads when IO blocks

Corona also uses L<Coro::AIO> (and L<IO::AIO>) if available, to send
the static filehandle using sendfile(2).



( run in 0.442 second using v1.01-cache-2.11-cpan-26ccb49234f )