logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Corona - Coro based PSGI web server

Author

       Tatsuhiko Miyagawa

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 the simple Hello World app, and
       300 requests to serve 2MB photo files when used with AIO modules. Brilliantly fast.

       This web server sets "psgi.multithread" env var on.

License

       This module is licensed under the same terms as Perl itself.

Name

       Corona - Coro based PSGI web server

See Also

       Coro Net::Server::Coro Coro::AIO

perl v5.36.0                                       2022-12-04                                        Corona(3pm)

Synopsis

         corona --listen :9090 app.psgi

See Also