NAME

App::Ringleader - Proxy for sproradically-used web application

VERSION

version 0.1.0

SYNOPSIS

    use App::Ringleader;

    App::Ringleader->new( conf => 'ringleader.yml' )->run;

DESCRIPTION

Ringleader is a proxy that will wake up psgi applications upon request and shut them down after a period of inactivity. It's meant to provide a middle-ground between the slowliness of CGI and the constant resource consumption of plack applications for services that are not often used.

Typically, you'll use it via the ringleader script.

Ringleader relies on Ubic to start and stop the services. For PSGI applications, you probably want to define your services using Ubic::Service::Plack.

CONFIGURATION FILE

The Ringleader configuration file is YAML-based, and looks like

    port: 3000
    inactivity_delay: 60
    services:
        techblog.babyl.ca:  webapp.techblog
        kittenwar.babyl.ca: webapp.kittenwar
    CHI:
        driver: FastMmap

port

The port of the proxy. Defaults to 3000.

inactivity_delay

The minimum time (in minutes) of inactivity before a service will be shut down.

Defaults to 60 minutes.

services

The services Ringleader will monitor. Each service is configured via a key/value pair. The key is the request's host, and the value is the <Ubic> service it related to.

CHI

The arguments to pass to CHI to build the caching system used by the service. If not provided, CHI::Driver::FastMmap will be used.

SEE ALSO

http://techblog.babyl.ca/entry/ringleader - The original blog entry

AUTHOR

Yanick Champoux <yanick@babyl.dyndns.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yanick Champoux.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.